gpt4 book ai didi

python - Python 中同一行上 'raw_input' 的倒计时循环

转载 作者:太空宇宙 更新时间:2023-11-04 01:14:15 24 4
gpt4 key购买 nike

我想为正常的 raw_input 做一个倒计时循环,正常的 raw_input 不会改变,只有数字(在 raw_input ).

所以,你想再试一次吗? [15-1] 一行输出,数字只发生变化。

这是我目前所拥有的,但它不起作用。那么我该怎么做呢?

while True:
for i in range(15,-1,-1):
con1=raw_input("\n Do you want to try again? " + str(i,))
if i == 0:
print "\n Thanks for playing!"
exit(0)
elif con1 == "no":
print "\n Thanks for playing!"
time.sleep(3)
exit(0)
elif con1 == "yes":
break

最佳答案

Linux 答案 -- 不适用于 Windows

python 3

import select
import sys


def has_input(timeout=0.0):
return select.select([sys.stdin], [], [], timeout)[0]


def getans(timeout=15):
i = timeout
max_num_length = len(str(timeout))
while i:
print("\rDo you want to try again? {:{}} ".format(i, max_num_length),
end="", flush=True)
i -= 1
if has_input(1):
return input()
print()
return None

print(getans())

python 2

import select
import sys


def has_input(timeout=0.0):
return select.select([sys.stdin], [], [], timeout)[0]


def getans(timeout=15):
i = timeout
max_num_length = len(str(timeout))
while i:
sys.stdout.write("\rDo you want to try again? {:{}} ".format(i, max_num_length))
sys.stdout.flush()
i -= 1
if has_input(1):
return raw_input()
print
return None

print getans(5)

getans 将在超时时返回 None,否则返回响应。理论上,如果 has_input 的 Windows 版本可以实现,那么它可以在 Windows 上运行,但我还没有测试过。

关于python - Python 中同一行上 'raw_input' 的倒计时循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25701512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com