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

Python入门:Heads or Tails代码结果异常问题求助

猜硬币游戏代码错误修正

问题根源

你的代码存在核心错误:两次调用random.choice(CPU)。第一次调用是打印给用户看的电脑选项,第二次调用是用于胜负判断的选项,这两次是独立的随机生成结果,因此会出现显示的电脑选择和实际判定用的选择不一致,导致胜负结果混乱的情况。

修正后的代码

import random
while True:
    choices = ['Heads', 'Tails']
    user_input = input('Heads or Tails? ')
    # 仅生成一次电脑选择并存储
    cpu_choice = random.choice(choices)
    print(f"电脑选择: {cpu_choice}")
    
    # 基于同一选择判断胜负
    if user_input == cpu_choice:
        print('You win!')
    else:
        print('You lose!')
    
    user_input2 = input('Continue? Yes or No? ')
    if user_input2 != 'Yes':
        break

关键修改点

  • 将电脑的选择只生成一次并赋值给变量cpu_choice,打印和胜负判断都使用这个变量,确保显示与判定的是同一个结果
  • 简化冗余变量定义,直接通过用户输入与cpu_choice比较即可判断胜负
  • 优化电脑选择的输出语句,让结果展示更清晰

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:05:17