嗨,我刚刚开始学习如何编程并拥有一个我需要用 Python 编写的函数,这就是它背后的想法:
它返回True
if word
is in thewordList
并且完全由手中的字母组成。否则,返回False
。不会改变 hand 或 wordList。
有一个函数可以调用来检查用户想出的单词中字母的频率,并且它被转换为字典,我尝试过各种方式使用 iteritems 但无济于事,我被困在那些词上有重复的字母,当我在用户手中没有该字母的两个条目时,它们将被返回为真。
抱歉,如果不清楚,我两周前才开始。任何指针都会很棒我已经坚持了很长时间!
def isValidWord(hand,word,wordList):
"""
Returns True if word is in the wordList and is entirely
composed of letters in the hand. Otherwise, returns False.
Does not mutate hand or wordList.
word: string
hand: dictionary (string -> int)
wordList: list of lowercase strings
"""
wordC = getFrequencyDict(word)
handC = dict.copy(hand)
if word not in wordList:
return False
for c in word:
if c not in hand:
return False
for k,v in wordC.iteritems():
if k in hand and v > 1:
handC[k] -= 1
基本上我的下一步是试图弄清楚如何将 word 与具有修正值的 handC 进行比较,并将任何值为 0 的键打折。我认为(希望)这会奏效。