Python,根据用户输入再次调用函数

时间:2018-06-19 14:50:18

标签: python

我试图在用户输入“ 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)

1 个答案:

答案 0 :(得分:0)

我建议您:

  1. take_turn()函数的前三行收集到turn_score = roll_die()
  2. 使用while循环再次滚动直到用户输入与“ y”不同的内容
  3. roll_die()返回的值添加到turn_score
  4. 使用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)