[英]Python, Calling a function again based on input from user
我嘗試在用戶輸入“ 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)
我建議您:
take_turn()
函數的take_turn()
行收集到turn_score = roll_die()
roll_die()
返回的值添加到turn_score
take_turn()
返回的值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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.