Найти ошибку в коде 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)