Stack Overflow на русском Asked by krakyz on November 10, 2021
Программа должна принимать у пользователя список чисел, и, используя контрольное значение (сумма остатков деления каждого из чисел на следующее за ним число), сравнивать полученное значение с начальным. Проблема: четвертая строка с запросом input повторяется бесконечно.
number_list = []
N = int(input('N: '))
for _ in range(N):
number_list.append(input())
control_number = int(input())
exp_control_number = 0
for i in range(1, len(number_list)-2):
exp_control_number += (number_list[i] % number_list[i + 1])//1
if control_number == exp_control_number:
print('Список не изменился')
else:
print('Список изменился')
Заранее благодарю за ответ
Что-то вы путаете:
number_list = []
N = int(input('N: '))
for _ in range(N):
number_list.append(int(input()))
print (number_list)
N: 5
1
2
3
4
5
Результат [1, 2, 3, 4, 5]
Никакого бесконечного цикла.
Answered by passant on November 10, 2021
функция input
всегда возвращает тип str
. Потом вы делаете математические операции над строками, в связи с этим и получаете ошибку. Необходимо преобразовать данные в тип int
number_list = []
N = int(input('N: '))
for _ in range(N):
number_list.append(int(input()))
control_number = int(input())
exp_control_number = 0
for i in range(1, len(number_list)-2):
exp_control_number += (number_list[i] % number_list[i + 1])//1
if control_number == exp_control_number:
print('Список не изменился')
else:
print('Список изменился')
Answered by DD_N0p on November 10, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP