Top.Mail.Ru
Ответы
Аватар пользователя
1 месяц назад
от

Что не так?

Написал я значит код на Python, а IDLE Python жалуется в этом коде на 8 строку, говорит что continue не является циклом. А без него мне некуда!

Код:

1234567891011121314151617
 import time # Импортируем библиотеку Time 
 
try: 
    a = int(input("Введите первое число: ")) # Вводим первое число 
    b = int(input("Введите второе число: ")) # Вводим второе число 
except ValueError: 
    print("Неправильное число!") 
    continue 
c = a + b # Cкладываем введённые числа 
d = a - b # Вычитаем введённые числа 
e = a * b # Умножаем введённые числа 
f = a / b # Делим введённые числа 
g = c + d # Складываем c и d 
h = e + f # Складываем e и f 
i = g + h # Складываем g и h 
print(i) # Выводим результат 
time.sleep(2) # Ждём 2 секунды и закрываем программу  
Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок
1мес

continue - это ТОЛЬКО внутри цикла. У тебя же никакого цикла нет.
Если тебе нужно завершить программу, то это не continue, а exit()
Если тебе нужно повторить ввод при ошибке, то необходимо строки 2-8 обернуть в цикл и немного переделать:

1234567
 while True:
    try:
        a = int(input("Введите первое число: "))
        b = int(input("Введите второе число: "))
        break
    except ValueError:
        print("Неправильное число!") 
Аватар пользователя
Просветленный
1мес

Дабы повторять что-то, лучше сделай функцию. И там эти строчки.

123
 globsl a,b
a = int(input("Введите первое число: ")) 
b = int(input("Введите второе число: ")) 


И если числа будут неправильные, снова ее вызывай.
Циклы как тебе показали выше лучше стараться не использовать без крайней необходимости.

Пример полного кода.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
 def run(): 
    global a,b 
    try: 
        a = int(input("Введите первое число: "))  
        if a !=4: 
            run() 
         
        b = int(input("Введите второе число: ")) 
        if b>10: 
           run() 
        else: 
            exit_() 
    except ValueError: 
            print("Ошибка: Введите корректное целое число.") 
             
             
             
def exit_(): 
    # Выбор операции 
    operation = select_operation() 
 
    # Вычисление результата 
    try: 
        result = operation(a, b) 
        print(f"Результат: {result}") 
    except Exception as e: 
        print(f"Произошла ошибка: {e}") 
 
    # Предложение повторить 
    repeat = input("Повторим? (Да/Нет): ").lower() 
    if repeat == "да": 
        run() 
    else: 
        print("Программа завершила работу.")   
             
             
def select_operation(): 
    """Функция для выбора операции""" 
    operations = { 
        "+": lambda x, y: x + y, 
        "-": lambda x, y: x - y, 
        "*": lambda x, y: x * y, 
        "/": lambda x, y: x / y if y != 0 else "Ошибка: деление на ноль" 
    } 
    print("Выберите операцию:") 
    for op in operations: 
        print(f"  {op}") 
    while True: 
        choice = input("Введите символ операции (+, -, *, /): ") 
        if choice in operations: 
            return operations[choice] 
        else: 
            print("Некорректный выбор. Попробуйте снова.") 
run() 
exit_() 
 

 

Вместо просто принта суммы можно так-же дописать функцию, где будет выбор операции.