Найти ошибку в коде Python

Программа должна принимать у пользователя список чисел, и, используя контрольное значение (сумма остатков деления каждого из чисел на следующее за ним число), сравнивать полученное значение с начальным. Проблема: четвертая строка с запросом 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('Список изменился')

Заранее благодарю за ответ


Ответы (3 шт):

Автор решения: DD_N0p

функция 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('Список изменился')
→ Ссылка
Автор решения: passant

Что-то вы путаете:

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]

Никакого бесконечного цикла.

→ Ссылка
Автор решения: Sonya
from bs4 import BeautifulSoup
text = input('Введите текст: ')
# Восстанавливаем пробелы между словами
text = ' '.join(text.split())
# Удаляем лишние пробелы в начале и конце текста
text = text.strip()
# Удаляем повторяющиеся пробелы
text = ' '.join(text.split())
# Разбиваем текст на слова
words = text.split()
# Функция для получения правильного написания слова из словаря
def get_correct_spelling(word):
    url = f'https://slovari.yandex.ru/{word}/definition/'
    response = requests.get(url)
    soup = BeautifulSoup(response.content, 'html.parser')
    correct_spelling = soup.find('span', {'class': 'inline-articleitem inline-articleitem_type_headword'}).text
    return correct_spelling

# Восстанавливаем верное написание слов
for i in range(len(words)):
    try:
        correct_spelling = get_correct_spelling(words[i])
        words[i] = correct_spelling
    except:
        pass

# Объединяем слова обратно в текст
text = ' '.join(words)

print('Исправленный текст:', text)
→ Ссылка