This question already has answers here:
Letter Count on a string
(11个答案)
2年前关闭。
我正在尝试制作一个Python脚本来计算我的Hangman游戏中随机选择的单词中的字母数量。
我已经在网上四处张望,但我能找到的大多数东西都是用单词来数特定的字母。经过更多的环顾后,我最终发现了这一点,由于某种原因,它不起作用。如果有人指出错误,将不胜感激。
接下来,您应该在首次使用函数时尝试引用Python Documentation。那应该可以帮助您了解为什么您的方法行不通。
现在解决您的问题。如果要计算字符串中的字母数,请使用
如果要计算每个字母的频率,已经建议了几种方法。这是使用字典的又一个:
这样可以使单词中不存在的所有字母默认为0 :)
希望这可以帮助!
(11个答案)
2年前关闭。
我正在尝试制作一个Python脚本来计算我的Hangman游戏中随机选择的单词中的字母数量。
我已经在网上四处张望,但我能找到的大多数东西都是用单词来数特定的字母。经过更多的环顾后,我最终发现了这一点,由于某种原因,它不起作用。如果有人指出错误,将不胜感激。
wordList = ["Tree", "Fish", "Monkey"]
wordChosen = random.choice(wordList)
wordCounter = wordChosen.lower().count['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
print(wordCounter)
最佳答案
首先,您的代码包含一个非常重要的错误,需要理解:
wordChosen.lower().count['a', 'b'] #...
count
是一个函数,因此需要您用括号而不是方括号将其参数括起来!接下来,您应该在首次使用函数时尝试引用Python Documentation。那应该可以帮助您了解为什么您的方法行不通。
现在解决您的问题。如果要计算字符串中的字母数,请使用
len(wordChosen)
来计算字符串中的字符总数。如果要计算每个字母的频率,已经建议了几种方法。这是使用字典的又一个:
import string
LetterFreq={}
for letter in string.ascii_lowercase:
LetterFreq[letter] = 0
for letter in wordChosen.lower():
LetterFreq[letter] += 1
这样可以使单词中不存在的所有字母默认为0 :)
希望这可以帮助!
关于python - 如何计算单词中的字母? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32187934/