如何从Python函数中获取新值?

2024-10-04 11:26:57 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我输入“Ab3”作为参数,我将如何让值“Ab4”返回给我?在

此函数的目标是获取字符串的第三个字符并向其添加一个字符,除非它是四个字符,在这种情况下,它不会添加一个字符而只退出。我不知道如何获取函数从“Ab3”创建的“Ab4”并将其分配回“area”变量。在

def east(area):

    area_list = list(area)

    if "1" == area_list[2]:
        area_list[2] = "2"

    elif "2" == area_list[2]:
        area_list[2] = "3"

    elif "3" == area_list[2]:
        area_list[2] = "4"

    elif "4" == area_list[2]:
        cannot_go(why)

    else:
        exit(0)

    area = "".join(area_list)

Tags: 函数字符串目标参数ifdef情况area
3条回答

Python字符串是不可变的(http://docs.python.org/library/stdtypes.html),因此您不能实际更新'area'对象(尽管您可以将area重新分配给一个新值,如您所示)。如果希望调用方获取新值,则应返回new area变量(return area)。在

您只是错过了函数中的return语句,您需要它,因为您使用的是不可变的字符串输入。您可以使用以下代码:

def east(area):
    if area[-1] in '123':
        return area[:-1] + str(int(area[-1])+1)
    elif "4" == area[-1]:
        print 'no way'
        return area
    else:
        return 'incorrect input'# or throw and exception depends on what you really need

按克里斯评论编辑

你得到的东西会有用的,你只需要返回值。将最后一行改为return ''.join(area_list)。在

相关问题 更多 >