n = int(input())
grades = []
for _ in range(n):
grades.append(int(input()))
def gradingStudents(grades):
for i in grades:
if i > 37 and (5-i) % 5 < 3:
print (i + (5-i) % 5)
else:
print (i)
result = gradingStudents(grades)
print(map(str,result))
如果我更改打印方法,则可以正常工作,但是当我尝试使用以下方法打印时:
print(map(str,result))
它引发错误:
TypeError: 'NoneType' object is not iterable
我也尝试过使用return
,但仍然无法正常工作。任何帮助将不胜感激。
答案 0 :(得分:2)
您的函数gradingStudents
没有return
语句,因此它返回None
result
因此是None
map
尝试遍历None
并失败。
答案 1 :(得分:0)
您可以执行此操作,我认为这是您真正想要的(也许):
def gradingStudents(grades):
res = []
for i in grades:
if i > 37 and (5-i) % 5 < 3:
print (i + (5-i) % 5)
res.append(i + (5-i) % 5)
else:
print (i)
res.append(i)
return res