You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编程新手求助:随机时间间隔数值生成与顾客购票触发代码实现

模拟顾客随机购票提示的实现方案

嘿,别慌!你已经搞定了随机顾客数量和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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:05:02