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

Python代码if global b>global a报SyntaxError无效语法问题咨询

报错原因

第8行的if global b>global a:写法不符合Python语法规则:

  • global是作用域声明关键字,仅支持在函数内部单独成句声明某变量属于全局作用域,不能直接嵌入比较表达式中修饰变量名,因此直接触发语法错误。
修复方案

你需要先在函数内部开头单独声明要操作的全局变量,再进行比较、赋值操作,修正后的可运行代码如下:

import random
import sys
a = random.randint(1, 30)
b = random.randint(1, 30)
# 原代码中c = "minus" or "plus"存在逻辑问题:or运算左侧非空字符串永远为真,c会固定为"minus",如果需要随机二选一可改为如下写法
c = random.choice(["minus", "plus"])
print(c)
def f():
    # 单独声明使用全局变量a、b
    global a, b
    if b > a:
        a = random.randint(1, 30)
        b = random.randint(1, 30)
    print(a + b)

# 调用函数测试
f()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:24:05