Если символ ‘p’ находится в слове, добавьте слово в переменную списка

#python

#python

Вопрос:

Итак, мое задание таково: используя файл school_prompt.txt , если символ ‘p’ находится в слове, затем добавьте слово в список с именем p_words.

Я не уверен, какого прогресса я добился, но я застрял.

 wordsFile = open("school_prompt.txt", 'r')
words = wordsFile.read()
wordsFile.close()
wordList = words.split()
p_words = 0

for words in wordList:
    if words[0] == 'p':
        p_words  = 1

  

Комментарии:

1. Строка является итерируемой, то есть вы можете перебирать ее в цикле, поэтому вы можете сделать if 'p' in words: .

Ответ №1:

То, что вы хотите, довольно просто; Я не уверен, почему вы производите p_words подсчет слов вместо списка слов.

 p_words = [word for word in wordList if 'p' in word]
  

Ответ №2:

Как ответил Хенрик, это можно было бы сделать с помощью оператора if. Также p_words должен быть списком, а не переменной.

 file=open("school_prompt.txt","r")
p_words=[]
file=file.read()
wordlist=file.split()
for i in wordlist:
    if 'p' in i:
        p_words.append(i)
  

Ответ №3:

Это работает, и я попытался выполнить одну строку кода, используя понимание списка, но не смог заставить это работать.

 fileref = open('school_prompt.txt', 'r')
words = fileref.read().split()
p_words = [word for word in words if 'p' in word]
  

Ответ №4:

нам нужно выполнить цикл for внутри цикла for, чтобы проверить, содержат ли слова букву «p». Вот код.

 file = open("school_prompt.txt", "r")
content = file.readlines()
p_words = []
for lines in content:
    lines = lines.split()
    for words in lines:
        if "p" in words:
            p_words.append(words)
print(p_words)