1

だからいくつかの背景のために:私は苦労してpythonを学び、いくつかの楽しいことをしようと少し休憩しました、私はあなたが入力するプログラムを作成しようとするために、daniwebで提案に出くわしました文字のリストを表示すると、それらすべての文字を含む単語が出力されます。

私はそれを手動で行う方法を理解しました、ここに以下のコードがあります:

string = raw_input("Please enter the scrable letters you have: ")
for line in open('/usr/share/dict/words', 'r').readlines():
    if string[0] in line and string[1] in line and string[2] in line:
        print line,

しかし、どういうわけか、ループを使用してそれを機能させる方法を理解できません(そうすれば、ユーザーは任意の長さの文字のリストに入力できます。次のようなものが機能すると思いましたが、そうではないようです:

while i < len(string)-1:
   if string[i] in line: tally = tally + 1
   i = i + 1
if tally == len(string)-1: print line
else: i = 0

正しい方向への助けをいただければ幸いです。

4

2 に答える 2

3

私はこれを理解してすべてを使用します...そして理解はループです

user_string = raw_input("Please enter the scrable letters you have: ")
for line in open('/usr/share/dict/words', 'r').readlines():
    if all(c in line for c in user_string):
        print line,
于 2012-11-25T04:14:11.983 に答える
0

セット操作はここで便利です:

inp = set(raw_input("Please enter the scrable letters you have: "))
with open('/usr/share/dict/words', 'r') as words:
    for word in words:
        if inp <= set(word):
            print word,
于 2012-11-25T05:53:05.367 に答える