0
votes

Comment imprimer des mots contenant des lettres spécifiques

J'ai un fichier avec des mots, chaque ligne contient un mot. Ce que j'essaie de faire est de demander à l'utilisateur une lettre et de rechercher des mots avec toutes ces lettres utilisateurs a une entrée. Je travaille dessus pendant quelques jours mais je ne peux pas faire de lignes 7 et 8 en cours d'exécution correctement uniquement d'erreurs différentes ou ne donnez aucun résultat.

letters = input('letters: ')
words = open('thesewords').read().splitlines()

print (words)
print(".......................")

for word in words:
    if all(letters) in word:
        print(word)


0 commentaires

4 Réponses :


3
votes

Vous utilisez tout () code> à tort. Tout (lettres) code> est toujours un true code> pour chaîne lettres code> et true in code> vous retourne un TypeError code>.

Ce que vous devriez faire est: p> xxx pré>

donc, il devient: p>

for word in words:
    if all(x in word for x in letters):
        print(word)


1 commentaires

Oui, je l'ai eu maintenant, je l'utilisais à tort, c'était le dernier de nombreux autres que j'ai fait, de cette façon fonctionne merci.



0
votes

une solution plus simple si vous omettez tout serait: xxx


1 commentaires

Oui, seulement si lettres est un sous-ensemble de mot .



0
votes

Essayez ceci:

letters = input('letters: ')

# Make sure you include the full file name and close the string
# Also, .readlines() is simpler than .read().splitlines()
words = open('thesewords.txt').readlines()

# I'll assume these are the words:
words = ['spam', 'eggs', 'cheese', 'foo', 'bar']

print(words)
print(".......................")

for word in words:
    if all(x in word for x in letters):
        print(word)


0 commentaires

0
votes

Comme il y a beaucoup d'erreur de syntaxe dans le code, j'essaie de ré-écrire le code que vous avez fourni en tirant une croquis approximative de votre objectif. J'espère que le code ci-dessous satisfera votre demande.

letters = input("letters:" )
words = open("thesewords.txt","r")
for word in line.split():
    print (word)
print(".......................")
for wrd in words:
    if letters in wrd:
        print(wrd)
    else:
        continue


0 commentaires