我试图在用户输入“ y”之后返回take_turn函数中的roll_die函数,然后继续向turn_score变量添加值。谁能看到我在做什么错?预先感谢,这是到目前为止的代码:
import random
def roll_die():
roll_value = random.randint(1,6)
return roll_value
def take_turn(is_human_turn):
roll_die()
roll = roll_die()
turn_score = 0
turn_score = turn_score + roll
if is_human_turn:
print("total so far:",turn_score)
input("roll again? y/n ")
if input == "y":
roll_die()
# Trying to get back to the roll_die func w/in take_turn func
# and continue adding value to turn_score
return turn_score
take_turn(True)
答案 0 :(得分:0)
我建议您:
take_turn()
函数的前三行收集到turn_score = roll_die()
roll_die()
返回的值添加到turn_score
take_turn()
返回的值执行操作(否则不返回任何内容)这是我的完整代码解决方案:
import random
def roll_die():
roll_value = random.randint(1,6)
return roll_value
def take_turn(is_human_turn):
turn_score = roll_die()
while is_human_turn:
print("total so far:", turn_score)
if input("roll again? y/n ") == "y":
turn_score += roll_die()
else:
is_human_turn = False
return turn_score
result = take_turn(True)