【发布时间】:2019-10-05 08:04:42
【问题描述】:
我要重新开始编程,所以我开始了一个项目,该项目根据用户输入的边数以及用户希望掷骰子的次数来掷骰子。我在涉及时间的程序部分遇到问题。当用户在提示后十秒内未输入时,我希望显示一条消息。如果再过十秒钟没有输入任何内容,则应显示一条消息,依此类推。我正在使用 python。
目前大部分程序都在运行,但只有在输入后才会检查时间。因此,用户可以无限地坐在输入屏幕上而不会得到提示。我真的很困惑如何同时等待输入,同时检查自提示输入以来经过的时间量。
def roll(x, y):
rvalues = []
while(y > 0):
y -= 1
rvalues.append(random.randint(1, x))
return rvalues
def waitingInput():
# used to track the time it takes for user to input
start = time.time()
sides = int(input("How many sides does the die have? "))
times = int(input("How many times should the die be rolled? "))
tElapsed = time.time() - start
if tElapsed <= 10:
tElapsed = time.time() - start
rInfo = roll(sides, times)
print("Each side occurs the following number of times:")
print(Counter(rInfo))
waitingInput()
else:
print("I'm waiting...")
waitingInput()
任何建议将不胜感激。我希望尽我所能改进我的编码,因此欢迎对不相关的代码提出建设性的批评。
【问题讨论】:
标签: python loops recursion time dice