如题,以前做多行输入的时候一直用的 while true 循环,通过 try 和 except 的报错机制控制连续的多行输入,也没什么问题,但是昨天用编译器的时候发现,不能跳出输入循环了……用 sys.stdin 的输入也不行,很纠结不知道是怎么回事,贴一个我的测试代码:
import collections
dict_sum = collections.OrderedDict()
while True:
try:
key = input().split('\\')[-1]
if key in dict_sum:
dict_sum[key] += 1
else:
dict_sum[key] = 1
except :
break
list1 = sorted(dict_sum.items(),key = lambda x:x[1],reverse = True)
print(list1)
n = 8
for item in list1:
if n>0:
print(item[0].split()[0][-16:],item[0].split()[1],item[1])
n += -1
执行输入以后疯狂摁回车也不能跳出 while 循环,现在真的有点烦躁,不知道怎么回事,这个代码我以前用一模一样的运行是没问题的……
import collections
dict_sum = collections.OrderedDict()
while True:
try:
key = input().split('\\')[-1]
if key in dict_sum:
dict_sum[key] += 1
else:
dict_sum[key] = 1
except :
break
list1 = sorted(dict_sum.items(),key = lambda x:x[1],reverse = True)
print(list1)
n = 8
for item in list1:
if n>0:
print(item[0].split()[0][-16:],item[0].split()[1],item[1])
n += -1
执行输入以后疯狂摁回车也不能跳出 while 循环,现在真的有点烦躁,不知道怎么回事,这个代码我以前用一模一样的运行是没问题的……