python if和else语句错误

时间:2015-10-27 18:55:37

标签: 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 >10) and (a <= 20):
        b=300
print (b)
fname()

由于

2 个答案:

答案 0 :(得分:2)

fname中的b与全局/外部范围内的global b不同。

让这项工作难以理解的是在fname内添加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) 的新值并指定它:

forceIframeTransport: true

有关范围界定和Python的更多信息,请参阅this question

答案 1 :(得分:0)

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()

如果您想了解是否,否则请转到-https://youtu.be/no8c4KMYBdU