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。