4

我目前正在学习 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 和编程有点陌生。

4

2 回答 2

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

于 2012-12-09T19:24:18.440 回答
-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()
于 2012-12-09T19:58:25.677 回答