python的学校问题

输入多个学号和对应的成绩(001, 90, 003, 53, 002, 55)
输出不及格的同学的学号,按学号从小到大的顺序排序输出
如果没有不及格的,输出NONE

-

grades = dict()
person = input("请输入人数:")
for i in range(int(person)):
    number = input("请输入学号:")
    if grades.__contains__(number):
        print("学号重复!")
    else:
        grade = input("请输入成绩:")
        grades[number] = int(grade)

flag = True
grades = dict(sorted(grades.items(), key=lambda e:e[0]))
print(grades)
for key, value in grades.items():
    if value < 60:
        print(key, value)
        flag = False
        
if flag:
    print("None")

img

img

用split()分拆录入内容成一个列表,然后处理:

>>> content = input('please input:').split(',')
please input:001,98,002,94
>>> content
['001', '98', '002', '94']
>>> flag = True
>>> for i in content[1::2]:
    if int(i)<60: flag = False

    
>>> if flag: print('NONE')

NONE
>>> 

楼上for里面的if缩进有问题吧