Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Python код сдох

Делал задачу для ОГЭ "Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 3. Количество чисел не превышает 100. Введенные числа не превышают 300. Программа должна вывести одно число  — сумму чисел, оканчивающихся на 3."Написал,решил проверить,но вводя данные программа то ли не видит их,то ли запрашивает их дофига раз,скрины ниже.В чём проблема,кто знает?

По дате
По рейтингу
Аватар пользователя
Новичок
3мес

И ты еще вводишь в инпуту кроме цифр букву r

12345678910111213141516
 try: 
    n = int(input("Введите число n: "))  # Ввод числа n 
    if n <= 0: 
        raise ValueError 
except ValueError: 
    print("Ошибка: n должно быть положительным числом") 
else: 
    sum = 0  # Инициализация суммы 
 
    for i in range(n):  # Цикл от 0 до n-1 
        a = i + 1  # Числа от 1 до n 
        if a % 10 == 3:  # Проверяем, заканчивается ли число на 3 
            sum += a  # Добавляем число к сумме 
 
    print(sum)  # Выводим результат 
 
Аватар пользователя
Искусственный Интеллект
3мес

sum += a

Аватар пользователя
Ученик
3мес

1) Ты считаешь не их сумму, а их количество, чтобы считать сумму надо прибавлять само число, а не 1
2) Ошибка возникает так как у тебя при вводе туда попала буква r, из-за чего это уже не число, как ты заевляешь.

Аватар пользователя
Мастер
3мес

Ты а поставь после н