我正在学习Python,并且想知道一些事情。我正在写一个小文字冒险游戏,需要帮助: 如果我写,例如,
example = input("Blah blah blah: ")
if example <= 20 and > 10:
decision = raw_input("Are you sure this is your answer?: ")
我可以编写哪些函数会导致“example = input(”Blah blah blah:“)”再次运行?如果用户拒绝“decision = raw_input(”你确定这是你的答案吗?:“)”。
很抱歉,如果我把你们搞糊涂了。我有点像Python的新手,还有编程。
答案 0 :(得分:4)
您正在寻找while
循环:
decision = "no"
while decision.lower() == "no":
example = input("Blah blah blah: ")
if 10 < example <= 20:
decision = raw_input("Are you sure this is your answer?: ")
循环重复运行代码块,直到条件不再成立。
我们在开始时设定决策以确保它至少运行一次。显然,您可能希望比decision.lower() == "no"
做更好的检查。
另请注意编辑条件,因为if example <= 20 and > 10:
在语法上没有意义(超过10个?)。您可能想要if example <= 20 and example > 10:
,可以将其浓缩为10 < example <= 20
。
答案 1 :(得分:-1)
您可以使用一个调用自身的函数,直到输入有效:
def test():
example = input("Blah blah blah: ")
if example in range(10, 21): # if it is between 10 and 20; second argument is exclusive
decision = raw_input("Are you sure this is your answer?: ")
if decision == 'yes' or desicion == 'Yes':
# code on what to do
else: test()
else: # it will keep calling this until the input becomes valid
print "Invalid input. Try again."
test()