Python预课程BMI计算代码报错求助:SyntaxError赋值问题
解决Python中BMI计算的赋值语法错误
嘿,刚入门Python碰到这种小问题太正常啦,我来帮你捋清楚~
你遇到的SyntaxError: can't assign to operator错误,核心原因是Python的赋值语法要求左边必须是一个变量名,而不能是一个运算表达式。你写的78/1.82 ** 2=x相当于试图把变量x的值赋给左边的运算结果,这完全搞反了赋值的方向,而且语法上根本不允许这么做。
正确的写法有两种:
1. 直接把运算结果赋值给变量
把变量名放在等号左边,运算表达式放在右边,这才是Python赋值的正确姿势:
x = 78 / 1.82 ** 2 # 打印结果看看 print(x)
2. 用变量存储体重和身高(更推荐)
把体重、身高单独存成变量,代码可读性会高很多,以后修改数值也更方便,还能更直观对应BMI公式:
# 定义变量存储体重和身高 weight_kg = 78 height_m = 1.82 # 计算BMI,加括号更贴合公式结构(其实不加也对,因为**优先级比/高) bmi = weight_kg / (height_m ** 2) # 输出结果 print(bmi)
补充小知识点:
Python里运算符优先级是**(幂运算)高于/(除法),所以1.82 ** 2会先被计算,再用78除以这个结果,不管加不加括号,计算结果都是一致的,但加上括号能让代码更符合我们对BMI公式的直观理解,新手用这种写法会更少出错哦~
内容的提问来源于stack exchange,提问作者Boss Gamer
相关产品推荐
相关产品推荐

