我的代码的重点是检查一个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"
添加到列表中。
提前谢谢。你知道吗
线路
应替换为以下内容之一:
回答您最初的问题:
使用
in
运算符:读一读你的代码,你似乎想找出一个列表中的所有单词,而另一个列表中没有这些单词(“无效单词”)。你知道吗
示例:
不用奇怪。当您遇到错误时,通常不会正确执行:
编辑
我可以随意更改您的代码:
wordlist
名称首先在文件范围的getWordList()
之外赋值。这几乎肯定不是你想要的。你知道吗试着这样改变它:
同样,考虑
urllib2
。你知道吗相关问题 更多 >
编程相关推荐