[英]How to repeat a function 3 times
我正在创建此函数来测试用户输入(作为猜测)是否正确。
def check_guess():
letter = "d"
guess = input("What is your guess: ")
if guess.isalpha() == False:
print("This is invalid")
elif guess.lower() > letter:
print("This too high")
elif guess.lower() < letter:
print("this is too low")
else:
print("that is correct")
check_guess()
所以我创建了这段代码,并且没有问题。 但是,我现在的任务是必须给用户3次尝试。 如果用户获得正确答案,则将打印“正确”,游戏结束。 但是,如果他们在所有3次尝试中均失败,则类似于“游戏结束”。
如何创建/复制代码以使其能够执行此操作?
使用for
循环及其else
子句。 循环的else
子句仅在没有中断循环的情况下运行。
首先让函数返回一个值,以指示用户是否正确猜测。 否则,将很难与之交互:
def check_guess():
letter = "d"
guess = input("What is your guess: ")
if not guess.isalpha():
print("This is invalid")
return False
guess = guess.lower()
if guess == letter:
print("that is correct")
return True
if guess > letter:
print("This too high")
else:
print("this is too low")
return False
现在,您可以准确地调用该函数三次,或者直到用户猜对为止(以先到者为准):
for _ in range(3):
if check_guess():
break
else:
print('you failed')
当check_guess
返回True
表示成功时,我们会break
循环,确保不会触发else
子句。 如果三个迭代完成并且用户从未做出正确的猜测,则触发该子句。
def check_guess():
letter = "d"
guess = input("What is your guess: ")
if guess.isalpha() == False:
print("This is invalid")
return False
elif guess.lower() > letter:
print("This too high")
return False
elif guess.lower() < letter:
print("this is too low")
return False
else:
print("that is correct")
return True
for i in range(0,3):
status = check_guess()
If status:
print(“success”)
break
else:
print(“fail”)
如果用户正确,则需要返回,然后如果不增加计数器,则需要返回。 这样的事情应该起作用:
count = 0
while count < 3:
if check_guess():
# he's right
break
else:
# he's wrong
count += 1
if count >= 3:
print("You lose !")
else:
print("You win !")
您可以通过以下方式进行操作:
def check_guess():
status = False
letter = "d"
guess = input("What is your guess: ")
if guess.isalpha() == False:
print("This is invalid")
elif guess.lower() > letter:
print("This too high")
elif guess.lower() < letter:
print("this is too low")
else:
print("that is correct")
status = True
return status
for i in range(3):
status = check_guess()
if status:
break
else:
print "Gameover"
c=0
def check_guess():
letter = "d"
guess = input("What is your guess: ")
if guess.isalpha() == False:
print("This is invalid")
c++
elif guess.lower() > letter:
print("This too high")
c++
elif guess.lower() < letter:
print("this is too low")
c++
else:
print("that is correct")
c=4
if c<=3
check_guess()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.