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

Python全局变量使用疑问:为何count自增后输出仍为0?

问题分析与解决

你的代码有三个核心问题导致count始终输出0:

  • 函数running_count内部未声明count为全局变量,此时函数里的count是局部变量,修改它不会影响全局的count。
  • 你定义了函数但从未调用过它,函数里的计数逻辑根本没执行。
  • 代码里的low、mid、high未定义,运行时会触发NameError,得先给这些变量赋值。

修正后的代码

count = 0 
# 先定义low、mid、high的具体值,示例赋值如下
low = 1
mid = 2
high = 3
card = low

def running_count():
    global count  # 声明使用全局变量count
    if card == low:
        count += 1
    elif card == high:
        count -= 1
    # card等于mid时count不变,该分支可省略

running_count()  # 调用函数执行计数逻辑
print(count)  # 此时输出1

关键说明

  • 加global count声明后,函数内部才会操作全局的count变量,而不是创建新的局部变量。
  • 必须调用running_count()才能让计数逻辑生效,否则函数只是定义了但没执行。
  • 冗余的elif card == mid:分支可以删除,因为count值不变,没必要写。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:30:56