谁是丛林中最大的猫?

时间:2017-08-07 01:30:47

标签: python

我必须做一个算法,这就是我需要的东西。

  1. 设置" Lion"的值变量答案;
  2. 将用户答案输入变量Guess;
  3. 如果用户输入" Lion"节目输出"是的,他们是最大的猫!";
  4. 继续游戏直到答案" Lion"或者"狮子"到达了。
  5. 我是Python的新手,这就是我所拥有的:

    answer = "Lion" or "lion"
    guess = input("Who's the biggest cat in the jungle? ")
    while guess == answer:
        print("Yes they are the biggest cat!")
    else:
        print("Try again")
    

    while循环只是永远存在,我不确定如何解决它。

1 个答案:

答案 0 :(得分:4)

就您发布的代码而言:

answer = "Lion" or "lion"
guess = input("Who's the biggest cat in the jungle? ")
while guess == answer:
    print("Yes they are the biggest cat!")
else:
     print("Try again")

这是一个好的开始,但我看到(至少)一些问题。

变量设置为一个值,而不是两个。因此,答案不能同时是Lionlion

由于猜测仅输入一次,因此在循环内永远不会改变。因此,你的循环一旦启动,将永远不会退出。

如果你输入一个不是狮子的值,那么循环将永远不会开始,所以它永远不会再回来问你了。

所以看看下面的类似Python的伪代码,因为如果你避开像list comprehension et seq那样的黑暗角落,这是一种理想的教学语言: - )。

你应该能够逐个语句地逐步完成它,并希望能够理解,在Python中指点类似的东西应该更容易:

guess = input "What is your name: "
while guess != "Pax" and guess != "pax":
    guess = input("I don't recognise you, try again: ")
print("My word, you are very handsome!")

您会发现它在结构上与您所拥有的非常相似,但while循环的感觉是相反的,当您有错误的答案时,它会继续而不是在你拥有合适的人的时候。