我的代碼的重點是檢查4個單詞的句子以及它是否是4個單詞長。如何檢查列表中是否存在字符串
import random
import time
import urllib
numwords = 4
#getWordList
wordlist = []
def getWordList() :
url = "some word list url"
flink = urllib.urlopen(url)
#print "Reading words from %s" % url
words = [ ] # word list
for eachline in flink :
text = eachline.strip()
text = text.replace('%','')
words += [text.lower()]
flink.close()
#print "%d words read" % len(words)
words.append('i','am','an','to')
return wordlist
warning = "\n"
prompt = "Enter a sentence with four words: "
while warning:
usrin = raw_input(warning + prompt)
usrwords = usrin.strip().lower().split() # a list
print "The sentence is:", ' '.join(usrwords)
warning = ''
if len(usrwords) != numwords: #check length
warning += ("\n%d words sought; %d obtained \n") %(numwords, len(usrwords))
invalid = []
for word in usrwords:
if word not in wordlist :
if word not in invalid:
invalid.append(word)
if invalid:
warning += ("\ninvalid words found: %s\n") %(','.join(invalid))
由於某些原因,它沒有正確檢查我的單詞,並且它聲明我輸入的每個單詞都是無效的。我還想知道我是否將"I am an to"
正確添加到列表中。
在此先感謝。
很難相信是不是已經回答#2這個問題,但我找不到它。 –
'wordlist'是空的,因爲你永遠不會調用'getWordList'。因此,每一個字都是無效的。 – njzk2
我似乎無法編輯我的代碼,因爲我想出了這個問題,這可能太愚蠢了。我修復了我的詞彙表功能,所以它起作用,我開始用我想追加的詞語開始我的詞彙列表。我忘了在我的while循環中調用我的函數,並且在我這樣做後,我的代碼似乎工作 –