Python 3.x python if和else语句错误
请帮助我使用python中的if和else语句。我喜欢根据a的值来设置bPython 3.x python if和else语句错误,python-3.x,Python 3.x,请帮助我使用python中的if和else语句。我喜欢根据a的值来设置b a=5 b=0 def fname(): #less than 5 if (a < 5): b=100 #greater than 5 or less than 10 elif (a >= 5) and (a <= 10): b=200 #greater than 10 or less than 20 elif (a >
a=5
b=0
def fname():
#less than 5
if (a < 5):
b=100
#greater than 5 or less than 10
elif (a >= 5) and (a <= 10):
b=200
#greater than 10 or less than 20
elif (a >10) and (a <= 20):
b=300
print (b)
fname()
a=5
b=0
def fname():
#少于5
如果(a<5):
b=100
#大于5或小于10
elif(a>=5)和(a10)和(a在fname
中的b
与全局/外部范围中的b
不同
一个丑陋的方法是在fname
中添加global b
更好的方法是将A
的值传递给fname
,让fname
返回b
的新值并分配:
def fname(a_number):
#less than 5
if a_number < 5:
return 100
#greater than 5 or less than 10
elif 5 <= a_number <= 10:
return 200
#greater than 10 or less than 20
elif 10 < a_number <= 20:
return 300
b = fname(a)
def fname(一个数字):
#少于5
如果一个_数小于5:
返回100
#大于5或小于10
elif 5a=5
b=0
def fname():
#少于5
如果(a<5):
b=100
印刷品(b)
#大于5或小于10
elif(a>=5)和(a 10)和(a)您在哪里调用fname
任何地方?您在哪里都没有任何其他语句是的。我添加了fname()最后。嗯……你是否意识到a
永远不能同时小于6和大于10,对吗?这些条件是:#如果小于5b是100;#大于或等于5和小于10b是200;#大于或等于10和小于20b是300;在调用fname()之前打印ingb
)
不会显示由fname所做的更改。
还可以使用比较链接使条件更具可读性:elif 5@ethafurman:您还可以将所有的elif更改为简单的if's,因为每个返回都会结束函数。@VPfB:True,但如果只是扫描代码,elif
s会清楚地表明只有一个函数ch将被执行。我如何测试b的值?@EthanFurman:刚刚发现:我们只是有不同的个人偏好。
a = 5
b = 0
def fname():
# less than 5
if (a < 5):
b = 100
print(b)
# greater than 5 or less than 10
elif (a >= 5) and (a <= 10):
b = 200
print(b)
# greater than 10 or less than 20
elif (a > 10) and (a <= 20):
b = 300
print(b)
fname()