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

运行Python彩票生成验证代码无输出问题求助

彩票生成器代码无输出问题排查

问题根源

你的代码存在三个核心逻辑错误,导致程序直接跳过关键执行流程,无任何输出:

  1. 循环条件完全颠倒
    初始时my_ticket是空列表,robot_ticket是包含5个元素的列表,robot_ticket == my_ticket结果为False,因此整个循环直接跳过,根本不会执行内部的彩票生成和判断逻辑。

  2. 判断运算符使用错误
    代码中用robot_ticket not in my_ticket和robot_ticket in my_ticket完全错误——in是用来判断单个元素是否存在于列表中,而你需要判断两个列表是否完全相等,应该直接用==。

  3. 计数初始值不合理
    times初始设为-1,会导致最终统计的次数出现偏差,应该从0开始计数。

修正后的代码

from random import choice

pack = (1,2,3,4,5,6,7,8,9,10,'a','b','c','d','e')

# 生成固定的中奖彩票
winning_ticket = []
while len(winning_ticket) < 5:
    winning_ticket.append(choice(pack))

my_ticket = []
times = 0

# 循环生成彩票,直到匹配中奖号码
while my_ticket != winning_ticket:
    my_ticket.clear()
    # 生成一张新彩票
    while len(my_ticket) < 5:
        my_ticket.append(choice(pack))
    times += 1

print(f"总共尝试了 {times} 次才生成中奖彩票")

修正说明

  • 把robot_ticket更名为winning_ticket,语义更清晰
  • 调整循环条件为my_ticket != winning_ticket,确保只要未匹配就持续生成新彩票
  • 计数从0开始,每生成一次彩票就加1,结果更准确
  • 移除了多余的continue语句和错误的判断逻辑,流程更简洁

内容的提问来源于stack exchange,提问作者Broil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 10:55:15