Python 我想打印与列表中给出的击球手得分的跑步相关的评论

Python 我想打印与列表中给出的击球手得分的跑步相关的评论,python,Python,问题: 给定列表kkr_运行=[4,10,12,1,28,0,31,2,6,2,4] 它应该打印: 如果得分超过30分,“干得好” 如果分数大于20但小于30,“你可以做得更好” 如果分数大于10且小于或等于20,则“Ok you do something”(确定你做了某事) “Duck”如果是0 “加油!”如果大于0小于等于10 我正在打印以下代码,但得到错误的结果 kkr_runs = [4, 10, 12, 1, 28, 0, 31, 2, 6, 2, 4] r=[] for i in k

问题:
给定列表
kkr_运行=[4,10,12,1,28,0,31,2,6,2,4]

它应该打印:

如果得分超过30分,“干得好”
如果分数大于20但小于30,“你可以做得更好”
如果分数大于10且小于或等于20,则“Ok you do something”(确定你做了某事)
“Duck”如果是0
“加油!”如果大于0小于等于10

我正在打印以下代码,但得到错误的结果

kkr_runs = [4, 10, 12, 1, 28, 0, 31, 2, 6, 2, 4]
r=[]
for i in kkr_runs:

    if i>30:
        print(i,"good job")
    elif i>20 & i<30:
        print(i,"YOu can do better")
    elif i>10 & i<=20:
        print(i,"Ok you did something")
    elif i==0:
        print(i,"Duck")
    else:
        print(i,"Come on")
kkr_运行=[4,10,12,1,28,0,31,2,6,2,4]
r=[]
对于kkr_跑步中的i:
如果i>30:
打印(i,“干得好”)

elif i>20&i10&i在Python中,逻辑AND由
表示。
这样做,

kkr_runs = [4, 10, 12, 1, 28, 0, 31, 2, 6, 2, 4]
r=[] 
for i in kkr_runs:
    if i>30:
        print(i,"good job")
    elif i>20 and i<30:
        print(i,"YOu can do better")
    elif i>10 and i<=20:
        print(i,"Ok you did something")
    elif i==0:
        print(i,"Duck")
    else:
        print(i,"Come on")
使用此代码:

if i>30:
    print(i,"good job")
elif i>20 and i<30:
    print(i,"YOu can do better")
elif i>10 and i<=20:
    print(i,"Ok you did something")
elif i==0:
    print(i,"Duck")
else:
    print(i,"Come on")
如果i>30:
打印(i,“干得好”)

如果i>20和i10以及i
&
是一个按位运算符:您可以使用
或者只使用
20
1020
?@Nick如果这对您有效,请接受这个答案。@nikramsertsch是的,这是短代码,但它会影响性能吗?如果没有,则两者都是相同的。两者都做相同的事情,即使存在性能差异,也与此类型或程序无关。我指出这一点是因为可读性更好。
if i>30:
    print(i,"good job")
elif i>20 and i<30:
    print(i,"YOu can do better")
elif i>10 and i<=20:
    print(i,"Ok you did something")
elif i==0:
    print(i,"Duck")
else:
    print(i,"Come on")