如果代碼輸入為:
hey Hi Mark hi mark
該程序希望小寫數(shù)字計(jì)數(shù),如果單詞列表是大寫的,則保持大寫。所以正確的輸出應(yīng)該是:
hey 1
Hi 2
Mark 2
hi 2
mark 2
我使用以下代碼創(chuàng)建了正確的數(shù)字計(jì)數(shù)和列表:
line = input()
norm = line.split()
low = line.lower().split()
for chr in low:
freq = low.count(chr)
print(freq)
for x in norm:
print(x)
其結(jié)果是:
1
2
2
2
2
hey
Hi
Mark
hi
mark
我以為我可以在我的最后一個(gè)for循環(huán)中使用print(x,freq)來給出正確的輸出,但由于一些不正當(dāng)?shù)脑颍鼤?huì)創(chuàng)建一個(gè)額外的hey,這就變成了輸出:
hey 2
Hi 2
Mark 2
hi 2
mark 2
我不知道它從哪里得到額外的嘿。是否有方法將2 for循環(huán)的打印結(jié)果合并,以創(chuàng)建正確的輸出?或者你知道額外的“嘿”是從哪里來的嗎?
您可以使用
zip
一次迭代原始版本和更低版本