在解决以下问题时,您需要完成数字输入(据我所知,使用control + d)
Входные данные
В каждой строке сначала записан номер класса (число, равное 9, 10 или 11),
затем (через пробел) — фамилия ученика.
Выходные данные
Необходимо вывести список школьников по классам: сначала всех учеников 9 класса,
затем — 10, затем — 11. Внутри одного класса порядок
вывода фамилий должен быть таким же, как на входе.
Примеры
входные данные
9 Ivanov
10 Petrov
11 Sidorov
9 Grigoryev
9 Sergeev
10 Yakovlev
выходные данные
9 Ivanov
9 Grigoryev
9 Sergeev
10 Petrov
10 Yakovlev
11 Sidorov
问题是我不知道如何完成输入...我的代码是:
nine=[]
ten=[]
eleven=[]
while True:
q=input().split()
if ... : #здесь должно быть заканчивающее ввод условие
break
if q[0]=="9":
nine.append(q)
elif q[0]=="10":
ten.append(q)
elif q[0]=="11":
eleven.append(q)
print(*nine, sep="\n")
print(*ten, sep="\n")
print(*eleven, sep="\n")
请帮帮我!!!
ctrl+d 无论如何都会终止程序,也许你的意思是 ctrl+c?
当您输入空字符串时,这里也会结束。无需尝试的方法
文件2的内容
重点是从 python 脚本调用另一个 python 脚本,无论它如何结束,即使使用 ctrl + d,但将数据保存到文件中,为此,在每次迭代并将缓冲区刷新到文件中,所有剩下的就是读取文件,但是这样不太好,可能用户输入最后一个数据的时候可以在回车之前按ctrld,那么最后一个数据就不会被保存。输入空字符串的选项更优化且更准确。
只需从以下位置读取数据
sys.stdin左右,如果您希望输出开始时间不早于输入结束时间
Ctrl-D在 linux 上或Ctrl-Z在Enterwindows 上将打破这个循环