0

また、プログラムに、3桁の数字が含まれている単語を個別に表示する必要があります

f = open("lolpa.txt", "r")

list1 = (f)
temp = []

for item in list1:
    if "1" "2" "3" "4" "5" "6" "7" "8" "9" "0"  in item:
        temp.append(item)
    else:
        print(item)

は私がこれまでに持っているものですが、何らかの理由ですべての単語が表示されます。

編集: lolpa.txt は単なる比較用のファイルです

編集:それが何かを変えるなら、私はpython 3.2を使用しています。

4

3 に答える 3

3

このようなものから始めることができますが、質問はあまり明確ではありません。

with open("lolpa.txt") as f:
    for word in f.readline().split(): # assuming all words are on the first line
        digits = [c for c in word if c.isdigit()]
        if digits: # digits list is not empty
            print(' '.join(digits)) # shows digits with space in between
        else:
            print(word) # prints word normally
于 2012-08-08T01:54:48.063 に答える
0

私は正規表現の専門家ではありませんが、これでうまくいくはずです (もちろん、yadayada の各行をループする必要があります):

import re
prog = re.comile(r'\b[a-zA-Z]+\b')
result = prog.findall(your_line_here)

結果はすべての単語のリストになります

于 2012-08-08T02:23:26.753 に答える