我的程序很难,而且我的代码技能非常简单。我需要做的是从用户那里取一个输入的列表,并按字母A(66 - 100),B(33 - 65),C(0 - 32)排名。我假设我需要输入的列表是一个元组,但我不完全确定如何这样做。我知道我需要(或可以)使用elif来完成这个但是我不知道如何使它成为B的两个数字之间的范围,因为C是else,而A只是大于。 这是我的代码:
def scores():
print('we are starting')
count = int(input('Enter amount of scores: '))
print('Each will be entered one per line')
scoreList = []
for i in range(1, count+1):
scoreList.append(int(input('Enter score: ')))
print(scoreList)
print(scoreList)
if scoreList > 66:
print('A')
#elif scoreList > 33:
#print('B')
else:
print ('C')
答案 0 :(得分:0)
使用逻辑运算符(and
,or
,not
)将您的条件链接在一起并循环遍历列表中的每个项目:
def scores():
print('we are starting')
count = int(input('Enter amount of scores: '))
print('Each will be entered one per line')
scoreList = []
for i in range(1, count+1):
scoreList.append(int(input('Enter score: ')))
print(scoreList)
print(scoreList)
for score in scoreList:
if score >= 66:
print('A')
elif score >= 35 and score <=65:
print('B')
else:
print('C')
答案 1 :(得分:0)
if-structure的可能解决方案:
for score in scoreList:
if 66 <= score <= 100:
print('A')
elif 33 <= score <= 65:
print('B')
elif 0 <= score <= 32:
print('C')
else:
# handle out of range input
这样您就可以使用else
来处理0
和100
之间的输入。