在python中操作函数中的变量


comp_sc = 0
game_start = False
def main():
turn_start = input('Are you Ready to play? ').lower()
if turn_start == 'n':
game_start = False
print('No one is willing to play!!!')
if turn_start == 'y':
game_start = True
#while game_start == True:
for x in range(1, 5):
com_move(comp_sc)
def roll():
***

def com_move(comp_sc):
turn_score = int(roll())
if turn_score < 6:
comp_sc =+ turn_score
print(comp_sc, 'comp_sc')
elif turn_score == 6:
comp_sc =+ 0
game_start = False
return comp_sc

在我的com_move函数中,我没有看到turn_score(通过随机模块输出随机数)将其添加到comp_sc变量中。当我运行这个函数时-comp_sc总是等于turn_score-而不是将其中的所有5个turn_score加起来。

谢谢

computer_score本地变量在computer_move函数内。你通过返回它做了正确的事情,但是你忽略了这个返回值。相反,您可以将它赋值给调用函数中的computer_score变量:

for x in range(1, 5):
computer_score = computer_move(computer_score, human_score)

这是因为您编写的computerscore =+ turnscore将computerscore设置为turnscore的正值,因此它们将始终相同。

正确的方法是写computerscore += turnscore,它将把turnscore添加到computerscore。

相关内容

  • 没有找到相关文章