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

Python投票系统变量无法累加求助:输入后变量未更新

修复你的Python投票系统问题

嘿,我来帮你搞定这个投票系统的bug!你的代码里有两个关键问题导致投票数一直是0,咱们一个个说清楚:

问题1:变量每次循环都会被重置为0

你把A=0、B=0、C=0放在了while True循环的内部,这意味着每次进入循环开头,这三个变量都会被重新设为0,之前投的票记录直接被清零了!得把这三个变量的初始化代码移到循环外面去,这样它们才能一直保存累计的投票数据。

问题2:累加操作没有实际修改变量值

你写的A + 1只是做了加法运算,但没有把运算结果赋值回A变量。正确的累加方式应该是用A += 1(或者等价的A = A + 1),这样才能让A的值真正加1,B和C的累加也需要同样修改。

修正后的完整代码:

# 先初始化投票数,放在循环外面,避免被反复重置
A = 0
B = 0
C = 0

while True:
    vote = input("A, B or C? ")
    if vote == 'A':
        A += 1  # 正确的累加赋值操作
    elif vote == 'B':
        B += 1
    elif vote == 'C':
        C += 1
    elif vote == 'end':
        print(f"A got {A} votes, B got {B} votes, C got {C} votes")
        break  # 加上break退出循环,不然打印后会继续等待输入
    else:
        print("That's not an option. Try again and Vote A,B or C")

额外补充:

我在end分支里加了break语句,不然输入end打印完结果后,程序会继续循环等待输入,加上break就能正常退出程序啦。现在你再测试一下,就能得到你预期的投票统计结果了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:35:13