python-3.x - 用户输入不打印我分配给它打印的内容
问题描述
所以我有一些代码会问一个问题,如果用户输入是 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()
如果我输入其他任何内容都不起作用,那会起作用。它再次提出问题或函数输出
解决方案
问题是您正在调用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
功能完成后再次播放。
推荐阅读
- c# - 如何在 C# 中拆分多节点 XML 文件
- mysql - 子查询返回超过 1 个值。当子查询跟随或将子查询用作表达式时,这是不允许的
- java - 从 JPA 查询返回页面对象
- boost - ARM 的交叉编译 boost 1.69.0
- scala - 当 IO 卡在中间时如何编写 doobie 事务
- apache - 主域的 Apache 虚拟主机返回 400 错误请求
- javascript - 遍历模型视图映射
- python - Qspinbox 值更改信号仅用于箭头更改
- r - R在极坐标图上绘制线,使用另一个变量作为角度
- android - 可以禁用/调整 Fresco 对大图像 (>2048px) 的自动调整大小吗?