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
相关产品推荐
相关产品推荐

