本人自学三天
目前在学串行
遇到一个问题觉得很纳闷
题目:
老师想要设计一个程式,可以输入学生成绩,直到Enter键结束,最后成绩由小到大排列
结果如下:
请输入学生成绩:85
请输入学生成绩:75
请输入学生成绩:60
请输入学生成绩:
成绩由小到大排列:[60,75,85]
以下是我写的:
list=[]
while True:
i=int(input("请输入学生成绩:"))
if(i==""):
break
list.append(i)
list1=sorted(list,reverse=False)
print(list1)
结果显示:invalid literal for int() with base 10: ''
后来看了解答是:
list=[]
while True:
i=input("请输入学生成绩:")
if(i==""):
break
list.append(int(i))
list1=sorted(list,reverse=False)
print(list1)
差别就是我不能于第三行放入int
必须在第6行才能放入
这就是我纳闷的地方
不是可以一开始就直接转换成整数就好
为什么这题反而不行了