如何显示字母的计数?

2024-05-03 20:19:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个字典程序:

strEntry = str(input("Enter a string: ").upper())
strEntry = strEntry.replace(",", "")
strEntry = strEntry.replace(" ", "")

print('')

def freq_finder(strFinder):
  dict = {}
  for i in strFinder:
    keys = dict.keys()
    if i in keys:
      dict[i] += 1
    else:
      dict[i] = 1
  return dict

newDic = freq_finder(strEntry)

print(newDic)

newLetter = str(input("Choose a letter: ").upper())

if newLetter in newDic:
  
  print("Frequency count of that letter:", count(newLetter))
  newDic.pop(newLetter)
  print("Dictinary after that letter removed:", newDic)
else:
  print("Letter not in dictionary")

sortedDic = sorted(newDic)
print(sortedDic)

在这部分之前,一切正常:

print("Frequency count of that letter:", count(newLetter))

我想知道如何显示字母的频率计数。例如,在下面的代码中,“S”的值为4。所以字母“S”的频率计数应该是4。我应该怎么做才能得到这个结果

它应该是这样的:

Enter a string: Magee, Mississippi

Dictionary:  {'M': 2, 'A': 1, 'G': 1, 'E': 2, 'I': 4, 'S': 4, 'P': 2}
Choose a letter: S
**Frequency count of that letter: 4**
Dictionary after that letter removed:  {'M': 2, 'A': 1, 'G': 1, 'E': 2, 'I': 4, 'P': 2}
Letters sorted: ['A', 'E', 'G', 'I', 'M', 'P']

如果您能告诉我出了什么问题以及如何解决,我将不胜感激


Tags: ofininputthatcountkeysdictprint
2条回答

您似乎忘记了定义count函数

只要在代码中添加这个,它就会工作

def count(e):
  return newDic[e]
strEntry = str(input("Enter a string: ").upper())
strEntry = strEntry.replace(",", "")
strEntry = strEntry.replace(" ", "")

print('')

def freq_finder(strFinder):
  dict = {}
  for i in strFinder:
    keys = dict.keys()
    if i in keys:
      dict[i] += 1
    else:
      dict[i] = 1
  return dict

newDic = freq_finder(strEntry)

print(newDic)

newLetter = str(input("Choose a letter: ").upper())

def count(e):
  return newDic[e]

if newLetter in newDic:
  
  print("Frequency count of that letter:", count(newLetter))
  newDic.pop(newLetter)
  print("Dictinary after that letter removed:", newDic)
else:
  print("Letter not in dictionary")

sortedDic = sorted(newDic)
print(sortedDic)

要从字典中访问值,只需执行以下操作

print("Frequency count of that letter:", newDic[newLetter])

相关问题 更多 >