首页 > 解决方案 > 用户输入不打印我分配给它打印的内容

问题描述

所以我有一些代码会问一个问题,如果用户输入是 y,它会继续,但是当有人放n或其他任何东西时,它会提出一个函数并再次询问问题,而不打印我为它放的内容。

我已经尝试过改变一大堆东西,包括重新安排东西和取出东西,但都没有奏效。非常感谢任何帮助。

def Time():
    words = "Shall we play a game? Y or N: "
    for char in words:
        sleep(.14)
        sys.stdout.write(char)
        sys.stdout.flush()
    return(char)
if input(Time()) == 'y':
    Games()

elif input(Time()) == 'n':
    print("Too bad.")
    quit()

else:
    print("Thats not a option. Try again",(Time))

在:

if input(Time()) == 'y':
              Games()

如果我输入其他任何内容都不起作用,那会起作用。它再次提出问题或函数输出

标签: python-3.x

解决方案


问题是您正在调用input每个条件,您应该调用一次并将答案保存在变量中。尝试这样做:

while True:
  answer = input("Shall we play a game? Y or N: ").lower()
  if answer == "y":
    Games()
  elif answer == "n":
    print("Too bad.")
    quit()
  else:
    print("Thats not a option. Try again")

这还将询问您是否要在Games功能完成后再次播放。


推荐阅读