字母数字的重复字符计数器
Duplicate Character Counter for an Alphanumeric
我正在写一小段代码练习学习python。请注意,我现在不担心错误处理,只担心功能部分。
用户输入字母数字字符串,输出以显示输入中每个字符的计数
input = "poop"
desired output = p:2, o:2
current output = p:1, o:1
我已经编写了直方图和 for 循环来收集每个字符的计数,但是当我的 for 循环运行时,我只 return 计数 1。有人可以帮我一些关于为什么字符没有被多次计算的方向?
我的代码如下。
s = input("Enter alphanumeric: ")
print(s)
l = []
for char in s:
l.append(char)
print(l)
letter_histogram = dict.fromkeys(l,0)
print(letter_histogram)
for char in letter_histogram:
letter_histogram[char] = letter_histogram[char] + 1
print(letter_histogram)
你应该迭代用户输入,而不是你的字典
for char in s:
letter_histogram[char] += 1
更好地使用这种方法,它更具可读性,您可以使用 set
对唯一字符进行分组,然后使用 .count
字符串方法查找出现次数,例如:
sample = "poop"
letters = set(sample)
histogram = {
letter: sample.count(letter) for letter in letters
}
print(histogram)
>>> {'p': 2, 'o': 2}
我正在写一小段代码练习学习python。请注意,我现在不担心错误处理,只担心功能部分。
用户输入字母数字字符串,输出以显示输入中每个字符的计数
input = "poop"
desired output = p:2, o:2
current output = p:1, o:1
我已经编写了直方图和 for 循环来收集每个字符的计数,但是当我的 for 循环运行时,我只 return 计数 1。有人可以帮我一些关于为什么字符没有被多次计算的方向?
我的代码如下。
s = input("Enter alphanumeric: ")
print(s)
l = []
for char in s:
l.append(char)
print(l)
letter_histogram = dict.fromkeys(l,0)
print(letter_histogram)
for char in letter_histogram:
letter_histogram[char] = letter_histogram[char] + 1
print(letter_histogram)
你应该迭代用户输入,而不是你的字典
for char in s:
letter_histogram[char] += 1
更好地使用这种方法,它更具可读性,您可以使用 set
对唯一字符进行分组,然后使用 .count
字符串方法查找出现次数,例如:
sample = "poop"
letters = set(sample)
histogram = {
letter: sample.count(letter) for letter in letters
}
print(histogram)
>>> {'p': 2, 'o': 2}