Почему мой startwith() возвращает только 0, хотя другие методы, использующие тот же формат, работают?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему мой startwith() возвращает только 0, хотя другие методы, использующие тот же формат, работают?

Сообщение Anonymous »


Моя функция Beginswith(n_list, sub) находится там, где находится метод Beginswith(); он возвращает только 0. Это единственная проблема, с которой я столкнулся. Он имеет формат рабочих методов endwith() и .contains(), но не работает.

def readFile(file_name):
try:
with open(file_name, "r", encoding="utf-8") as file:
return [line.strip() for line in file]

except FileNotFoundError:
print(f"The file name you specified does not exist.")
main()

def beginswith(n_list, sub):
return sum(names.startswith(sub) for names in n_list)

def endswith(n_list, sub):
return sum(names.endswith(sub) for names in n_list)

def contains(n_list, sub):
return sum(names.__contains__(sub) for names in n_list)

def getStats(n_list, sub): #gets stats function
stats_list = [] #empty list to store values
stats_list.append(beginswith(n_list, sub))
stats_list.append(endswith(n_list, sub))
stats_list.append(contains(n_list, sub))
return stats_list

def main():
file_name = input("What file do you want to open? ")
n_list = readFile(file_name)
print(f"The list has {len(n_list)} names")

while True:
sub = input("What name (or substring) are you interested in searching for? ")

if not sub:
break

begins_with_num = beginswith(n_list, sub)
ends_with_num = endswith(n_list, sub)
contains_sub_num = contains(n_list, sub)
stats_list = getStats(n_list, sub)

print(f"{begins_with_num} name(s) begin with '{sub}'")
print(f"{ends_with_num} names(s) ends with '{sub}'")
print(f"{contains_sub_num} name(s) contain '{sub}'")
print(stats_list)

# Main portion of code for local testing
if __name__ == "__main__":
main()


Подробнее здесь: https://stackoverflow.com/questions/792 ... -using-the
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»