为什么运行此代码会出现语法错误?如果我删除突出显示的部分(返回卡[i]),我会收到错误,突出显示函数调用。
请帮助:)
def dealcards():
for i in range(len(cards)):
cards[i] = ''
for j in range(8):
cards[i] = cards[i].append(random.randint(0,9)
return cards[i]
print (dealcards())
答案 0 :(得分:5)
cards[i] = cards[i].append(random.randint(0,9)
^
缺少右括号。并且下一行的return语句缩进不正确。
答案 1 :(得分:1)
失踪:
cards[i] = cards[i].append(random.randint(0,9))
答案 2 :(得分:1)
SyntaxError
是由于cards[i] = cards[i].append(random.randint(0,9)
AttributeError
。您将cards[i]
设置为str
对象,然后尝试在其上调用append
。字符串没有append
方法。 cards
中的每个位置。这通常表明你做错了事;在Python中更常见的只是创建一个新列表。
enumerate
。cards
。 使用函数来改变全局状态是一件坏事。有两种可能性几乎肯定会更好:
deal_cards
的方法的状态,该方法会改变某些属性self.cards
或其他任何属性。 (可能是要走的路。)cards
作为参数的函数并返回一个新列表。 (可能不是那种方法,但可以提高当前技术的模块性,可维护性和可测试性。)