1

对 Python 来说有点新意,除了 while 语句之后的所有内容外,其他所有内容都已完成。请帮忙!

我不知道这之后该怎么办

while y > x or y < x:
 if y == x:
   print ("You got it, " + Name + "!")
else:
if (y < x):
  print ("Higher!")
else:
  print ("Lower!")
  break


import random
print("Hey, what's your name?")
Name = input("")
print ("What do you want to be the maximum number?")
maximnum = int(input(""))
print("I just thought of a number between 1 and " + str(maximnum) + ", can you guess it " + Name + "?")
y = input("")
x = random.randint(1,maximnum)
print (x)
while y > x or y < x:
if y == x:
print ("You got it, " + Name + "!")
else:
if (y < x):
  print ("Higher!")
else:
  print ("Lower!")
  break

它只是继续运行,不会停止

4

1 回答 1

3

while 循环的条件y>x or y<x相当于y!=x. 如果在任何点y 等于x则循环将结束。从您的代码示例的外观来看,循环内既没有x也没有y变化,所以如果它进入时它们不相等,它将永远不会退出。一种解决方案是在循环内添加额外的输入行

while y != x:
    if (y < x):
        print ("Higher!")
    else:
      print ("Lower!")
    y = input('Guess again... ')
print ("You got it, " + Name + "!")
于 2019-02-07T15:24:29.173 回答