Python初学者问题-字典
我一直在尝试制作一个带有输出的程序:Python初学者问题-字典,python,string,python-3.x,Python,String,Python 3.x,我一直在尝试制作一个带有输出的程序: Enter line: which witch Enter line: is which Enter line: is 1 which 2 witch 1 我希望它如何工作是为您输入几行,当没有提交任何内容时,它将计算每行的数量 目前,我无法计算一个句子中的每一行,只能计算整个句子。我的代码: dic = {} while True: line = input('Enter Line: ') line = line.lower()
Enter line: which witch
Enter line: is which
Enter line:
is 1
which 2
witch 1
我希望它如何工作是为您输入几行,当没有提交任何内容时,它将计算每行的数量
目前,我无法计算一个句子中的每一行,只能计算整个句子。我的代码:
dic = {}
while True:
line = input('Enter Line: ')
line = line.lower()
if not line:
break
dic.setdefault(line, 0)
dic[line] += 1
for line, n in sorted(dic.items()):
print(line, n)
它产生输出:
Enter line: which witch
Enter line: is which
Enter line:
which witch 1
is which 1
而不是第一个
任何帮助都将不胜感激。谢谢代码将每一行用作字典关键字,而不是单词。使用和迭代单词拆分行
dic = {}
while True:
line = input('Enter Line: ')
line = line.lower()
if not line:
break
for word in line.split(): # <-----
dic.setdefault(word, 0) # <-----
dic[word] += 1 # <-----
for line, n in sorted(dic.items()):
print(line, n)
dic={}
尽管如此:
行=输入('输入行:')
line=line.lower()
如果不是直线:
打破
对于line.split():#…中的单词,或使用dic[word]=dic.get(word,0)+1
,而不是使用setdefault
(它本身调用get()
,并返回您未使用的值)。谢谢。我花了很多时间在这上面!