【问题标题】:How can I assign an output to a function call in python?如何将输出分配给python中的函数调用?
【发布时间】:2017-08-18 19:33:44
【问题描述】:

我知道我不一定能为函数调用分配值,那么如何为该函数调用分配输出?我已经构建了一个函数来检查位置(行,列)在拼图(列表)中是否有效。我构建了另一个返回该位置值的函数。我现在正在构建第三个函数,该函数调用这两个函数来在特定位置设置一个值,如果该值最初是无的话。如果可以设置该值,则需要返回 True。如果值不是None,则不需要设置它应该返回false。

例如:

set_location([[1]], 1, (0,0)) → 假

set_location([[None]], 1, (0,0)) → True # 谜题现在是 [[1]]

我的代码如下:

def is_valid_location(loc,puzzle):
    x,y=loc
    return x in range(len(puzzle[0])) and y in range(len(puzzle))

def get_value_at_location(puzzle,loc):
    val_loc=puzzle[loc[0]][loc[1]]
    return val_loc

def set_location(puzzle,value,loc):
    if is_valid_location(loc,puzzle)== True:
        if get_value_at_location(puzzle,loc) != None:
            return False
        else:
             if get_value_at_location(puzzle,loc) == None:
                 get_value_at_location(puzzle,loc)= value
                 return True

显然问题出在这一行:

get_value_at_location(puzzle,loc)= value

但我不知道该怎么做。有什么建议吗?

【问题讨论】:

    标签: function python-3.x conditional variable-assignment


    【解决方案1】:

    您的解决方案是:

    value = get_value_at_location(puzzle,loc)
    

    【讨论】:

    • 没有。位置的初始值将是无。我需要将该空位置设置为特定值。
    • 如果我没记错的话,一旦你有了想要放置在那个位置的 value,你可以设置它:puzzle[col][row] =价值
    • 必须定义位置。
    • 在尝试构建拼图/棋盘时,为了使用列表列表,您需要为拼图中的每个空间创建占位符。拼图 = [ [row1PH , row2PH , ...] , [row1PH , row2PH , ...] , ...] 用于 m 列和 n 行。
    • 我还没关注。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-21
    • 2017-09-28
    • 2016-09-05
    • 2011-01-29
    • 1970-01-01
    相关资源
    最近更新 更多