擅长:python、mysql、java
<p>在着手编写代码之前,您需要先尝试一下文件。我建议你在阅读我的答案之前这样做</p>
<p>首先,我们读N,我们假设学生的数量。对于其中的每一个,我们将获取两个输入:名称和标记。因此,您只能运行一个循环N次,而不是2*N次,并且在每次迭代中,您将获得两个输入</p>
<p>其次,列表和元组将对您有很大帮助,创建一个元组列表以供以后排序将大大减少工作。因此,我们将为每个学生创建一个元组(名称、标记),并将该元组插入列表中</p>
<p>第三,最后在得到输入后,我们只需要排序。python中有一个非常方便的函数,可以为您完成排序部分,但我确实<strong><em>建议</em></strong>如果您不知道如何从内部执行排序步骤,您可以自己执行排序步骤。我的意思是至少实现任何排序算法</p>
<p>以下是解决方案:</p>
<pre><code>N = int(input())
# list
li = []
for i in range (N):
# taking two inputs
name = input()
mark = input()
# creating a tuple and appending to list
li.append((name, mark))
# sorting by name, the first element in the tuple,
# that's why there is tp[0]
sortedbyname = sorted(li, key=lambda tp: tp[0])
# printing results
for i in range(N):
print(f"{sortedbyname[i][0]}: {sortedbyname[i][1]}")
</code></pre>
<p>希望这有帮助</p>