2012-03-26 9 views
0

私は、ユーザーに4つの異なる "単語ゲーム"を持つメニューが与えられるpythonでプログラムを書く必要があります。 dictionary.txtと呼ばれるファイルがあり、ゲームの1つでは、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 
+2

1.この宿題ですか?もしそうなら、そのようなタグを付けてください。 2.あなたがすでに持っているコードを私たちに教えてください。 3.まだ*何か試しましたか? – tzaman

+0

また、あなたの質問を段落に分けてください。改行がなければ、あなたの質問は「テキストの壁」を想定しているため、読みにくいです。 –

答えて

1

ファイルを開くには、open()を使用してください。 Pythonのチュートリアルのsecも読んでください。 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 

チェック:

使用str.find()、再びPythonのsring方法から。あなたのコードサンプルを見た後


さらにコメント:

  • あなたは複数行のプロンプトを印刷したい場合は、代わりに繰り返しprint()文のheredoc syntax(トリプル引用符)を使用します。
  • 数字の代わりにbacon sandwichと入力した場合、どうなりますか? (あなたの割り当てがあなたは優雅に誤ったユーザー入力を処理する必要がありますを指定することはできませんが、それはそれについて思いに痛いことはありません。)
+0

すべての専門家の答えのためのthqnk:] –

+1

@キミ:心配しないでください。ちなみに、StackOverflowの感謝の気持ちを示す方法は、あなたが助けてくれた* upvoting *の答えであり、あなたの質問に最もよく答えた答えを*受け入れることです。 –

+0

ohhhhh申し訳ありません私はちょうど参加したので、私は今日までそのことについて全く知らなかった –

3

だあなたは、アルゴリズム、やりたいと思い何を:

  1. があなたのファイルを開き
  2. それを行ずつ読み、各ライン上(各ラインは、唯一の単語を持っていると仮定して)、その単語があるかどうかを確認a)の適切な長さのaとb)は除外文字

が含まれていませんこれはどのような制御フローを使用することを示唆していますか?それについて考える。

問題解決の観点やPythonの観点からこのアプローチにどう対処するか混乱しているかどうかはわかりませんが、Pythonでこれを具体的に行う方法がわからない場合は、 :設定した文字列、リストの長さを取得するために使用することができ

  • The Input and Output section of the official Python tutorial
  • The len() function

      、など
  • +0

    あなたはすべてのプロの答えのためにあなたのために多くのことをする:] –

    1

    私の質問は、地球上で私は、ファイルを開く方法です

    with statement

    with open('dictionary.txt','r') as f: 
        for line in f: 
         print line 
    

    を使用し、そのファイル内の特定の長さの単語を検索。

    まず、検索する単語の長さを決めます。

    次に、単語が含まれているファイルの各行を読み取ります。

    各単語の長さを確認してください。

    探している長さに一致する場合は、リストに追加します。

    +0

    すべてのプロの答えのためのthqnk: –

    関連する問題