Python 调用自身内部的函数来检查if语句的错误输入,if语句永远不会无限期地中断和循环
我正在编写一个抛硬币函数,它只接受“h”和“t”作为输入 为此,我使用if语句检查输入是否为“h”,并在其中嵌套一个语句检查输入是否为“t” 如果两个条件都不满足,它将再次调用该函数 问题是,即使第一个输入是“t”或“h”,它仍然调用函数,无论我做什么Python 调用自身内部的函数来检查if语句的错误输入,if语句永远不会无限期地中断和循环,python,Python,我正在编写一个抛硬币函数,它只接受“h”和“t”作为输入 为此,我使用if语句检查输入是否为“h”,并在其中嵌套一个语句检查输入是否为“t” 如果两个条件都不满足,它将再次调用该函数 问题是,即使第一个输入是“t”或“h”,它仍然调用函数,无论我做什么 def coin_flip(): player_coin = raw_input("Choose heads (h) or tails (t)!: ").lower if player_coin != "h": i
def coin_flip():
player_coin = raw_input("Choose heads (h) or tails (t)!: ").lower
if player_coin != "h":
if player_coin != "t":
coin_flip()
coin = randint(1, 2)
if coin == 1:
coin = "h"
else:
coin = "t"
if player_coin == coin:
print "You won the coin toss! You get to go first!"
player_turn()
else:
print "You guessed the wrong answer! The Computer goes first!"
comp_turn()
不要再次调用该函数,只需将该部分粘贴在
循环中,同时满足以下条件:
player_coin = None
while player_coin not in ('h', 't'):
player_coin = raw_input("Choose heads (h) or tails (t)!: ").lower()
我在元组中使用了x
而不是多次检查,并确保您正在调用lower()
,因为它不在您的示例中。您可能应该返回coin\u flip()
@MVChr,谢谢大家