Почему мой startwith() возвращает только 0, хотя другие методы, использующие тот же формат, работают? ⇐ Python
Почему мой startwith() возвращает только 0, хотя другие методы, использующие тот же формат, работают?
Моя функция 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
Моя функция 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
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение