Как проверить, содержит ли строка определенный символ c или нет в python - PullRequest
0 голосов
/ 18 июня 2020

Я новичок в python, но довольно опытен в программировании. Во время обучения python я пытался создать простую функцию, которая считывала бы слова из текстового файла (каждая строка в текстовом файле - новое слово), а затем проверяла, есть ли в каждом слове буква «е» или нет. Затем программа должна подсчитать количество слов, у которых нет буквы «е», и использовать это количество для вычисления процента слов, у которых нет буквы «е» в текстовом файле.

I я столкнулся с проблемой, когда я очень уверен, что мой код правильный, но после тестирования вывода он неверен. Пожалуйста, помогите!

Вот код:

def has_n_e(w):
    hasE = False
    for c in w:
        if c == 'e':
            hasE = True
    return hasE

f = open("crossword.txt","r")
count = 0

for x in f:
    word = f.readline()
    res = has_n_e(word)
    if res == False:
        count = count + 1

iAns = (count/113809)*100 //113809 is the amount of words in the text file
print (count)
rAns = round(iAns,2)
sAns = str(rAns)
fAns = sAns + "%"
print(fAns)

1 Ответ

0 голосов
/ 18 июня 2020

Вот код после внесения некоторых изменений, которые могут помочь:

def has_n_e(w):
    hasE = False
    for c in w:
        if c == 'e':
            hasE = True
    return hasE

f = open("crossword.txt","r").readlines()
count = 0

for x in f:
    word = x[:-1]
    res = has_n_e(word)# you can use ('e' in word) instead of the function
    if res == False:
        count = count + 1

iAns = (count/len(f))*100 //len(f) #is the amount of words in the text file
print (count)
rAns = round(iAns,2)
sAns = str(rAns)
fAns = sAns + "%"
print(fAns)

Надеюсь, это поможет

...