【发布时间】:2019-02-11 20:31:54
【问题描述】:
给定物理课学生中每个学生的姓名和成绩,将它们存储在嵌套列表中,并打印成绩第二低的任何学生的姓名。注意:如果有多个年级相同的学生,请按字母顺序排列他们的姓名并将每个姓名打印在新行上。
输入:
5
Harry
37.21
Berry
37.21
Tina
37.2
Akriti
41
Harsh
39
输出:
>>Berry
>>Harry
我做到了
if __name__ == '__main__':
l2=[]
l1=[]
for i in range(int(input())):
name = input()
l1.append(name)
score = float(input())
l1.append(score)
l2.append(l1)
print(l2)
但它输出:
>>[['Harry', 37.21], ['Berry', 37.21], ['Tina', 37.2], ['Akriti', 41], ['Harsh', 39]]
【问题讨论】:
-
第一部分很简单,您的
l2列表正在收集所有信息以供结束,因此在循环之前进行初始化是好的,但l1正在为每对输入收集,所以你不应该在收集之前在循环内初始化?也许l1 = []在循环内的任何输入之前。 -
[['Harry', 37.21, 'Berry', 37.21, 'Tina', 37.2, 'Akriti', 41.0, 'Harsh', 39.0], ['Harry', 37.21, 'Berry ', 37.21, 'Tina', 37.2, 'Akriti', 41.0, '苛刻', 39.0], ['Harry', 37.21, 'Berry', 37.21, 'Tina', 37.2, 'Akriti', 41.0, '苛刻' ', 39.0], ['Harry', 37.21, 'Berry', 37.21, 'Tina', 37.2, 'Akriti', 41.0, 'Harsh', 39.0], ['Harry', 37.21, 'Berry', 37.21, '蒂娜',37.2,'Akriti',41.0,'苛刻',39.0]]
-
第一:问题标题中的错别字,第二:寻求家庭作业问题的解决方案... Stackoverflow 的目标不是帮助学生避免家庭作业。
标签: python python-3.x python-2.7