我必须在python中编写一个程序,在该程序中,用户可以获得一个带有四个不同的文字游戏的菜单"。有一个名为dictionary.txt的文件,其中一个游戏要求用户输入a)单词中的字母数和b)要从字典中搜索的单词中排除的字母(dictionary.txt包含整个字典) )。然后程序打印出符合用户要求的单词。我的问题是我是如何打开文件并在该文件中搜索具有一定长度的单词。我只有一个基本代码,只询问用户输入。我很新,请帮助:( 这就是我的第一个选择。其他人都很好,我知道如何打破循环,但这个特定的一个真的给了我麻烦。我已经尝试了一切,我只是不断收到错误。老实说,我只参加了这个课,因为有人说这会很有趣。它是,但最近我真的落后了,我不知道现在该做什么。这是一个介绍级别的课程所以请你好,我从来没有这样做过,直到现在:(
print
print "Choose Which Game You Want to Play"
print "a) Find words with only one vowel and excluding a specific letter."
print "b) Find words containing all but one of a set of letters."
print "c) Find words containing a specific character string."
print "d) Find words containing state abbreviations."
print "e) Find US state capitals that start with months."
print "q) Quit."
print
choice = raw_input("Enter a choice: ")
choice = choice.lower()
print choice
while choice != "q":
if choice == "a":
#wordlen = word length user is looking for.s
wordlen = raw_input("Please enter the word length you are looking for: ")
wordlen = int(wordlen)
print wordlen
#letterex = letter user wishes to exclude.
letterex = raw_input("Please enter the letter you'd like to exclude: ")
letterex = letterex.lower()
print letterex
答案 0 :(得分:3)
以下是您想要做的事情,算法:
这会建议您使用哪种控制流程?想一想。
我不确定你是否对如何从解决问题的角度或Python的角度来解决这个问题感到困惑,但是如果你不确定如何在Python中专门做这个,那么这里有一些有用的链接:
len()
function,可用于获取字符串,列表,集等的长度。答案 1 :(得分:1)
我的问题是如何打开文件
with open('dictionary.txt','r') as f:
for line in f:
print line
并在该文件中搜索具有一定长度的单词。
首先,确定要搜索的单词的长度。
然后,读取包含单词的文件的每一行。
检查每个单词的长度。
如果匹配您要查找的长度,请将其添加到列表中。
答案 2 :(得分:1)
要打开文件,请使用open()
。您还应该阅读Python教程。 7,file input/output。
打开文件并获取每一行
假设您的dictionary.txt
每个单词都在一个单独的行中:
opened_file = open('dictionary.txt')
for line in opened_file:
print(line) # Put your code here to run it for each word in the dictionary
字长:
您可以使用str.len()
方法检查字符串的长度。请参阅Python documentation on string methods。
"Bacon, eggs and spam".len() # returns '20' for 20 characters long
检查字母是否在单词中
再次使用Python sring方法中的str.find()
。
看到您的代码示例后的进一步评论:
print()
语句。bacon sandwich
而不是数字会怎么样? (你的作业可能不会指定你应该优雅地处理不正确的用户输入,但是认为对它不会有任何伤害。)