编程新手求助:随机时间间隔数值生成与顾客购票触发代码实现
模拟顾客随机购票提示的实现方案
嘿,别慌!你已经搞定了随机顾客数量和Timer功能,离目标只差最后一步啦。其实核心就是在Timer触发的回调逻辑里,加上时间记录和提示输出的代码就行。我用Python给你写个简单易懂的示例,你可以参考着调整到自己的代码里:
核心思路
- 用随机函数生成顾客到来的时间间隔(比如1-5秒,可按需调整)
- 每次Timer触发时,计算当前流逝的时间,输出指定提示
- 递归生成下一个Timer,实现持续的顾客随机到访场景
代码示例
import threading import random import time # 记录程序启动时间,方便计算已流逝的秒数 start_time = time.time() def customer_arrive(): # 计算当前已运行的秒数(取整) elapsed_seconds = int(time.time() - start_time) # 触发提示输出 print(f"第{elapsed_seconds}秒时已有顾客前来购票") # 生成下一位顾客的随机到来间隔 next_interval = random.randint(1, 5) # 创建并启动下一个Timer threading.Timer(next_interval, customer_arrive).start() # 启动第一位顾客的Timer(初始随机间隔) first_interval = random.randint(1, 5) threading.Timer(first_interval, customer_arrive).start() # 让主线程保持运行,避免程序直接退出 try: while True: time.sleep(1) except KeyboardInterrupt: print("模拟结束")
关键部分解释
start_time用来锚定程序启动时刻,这样能精准算出顾客到来时的流逝秒数customer_arrive是Timer触发时执行的核心函数,既完成了提示输出,又递归创建了下一个Timer,保证顾客持续随机到来threading.Timer负责在指定随机时间后触发顾客到访事件
如果你用的是其他编程语言(比如Java、C#),思路完全一致:在定时器的回调方法里获取当前时间、输出提示,然后重新设置下一个随机时间的定时器就好啦。
内容的提问来源于stack exchange,提问作者Afryna Zakira
相关产品推荐
相关产品推荐

