Технологии

Я хочу сделать цикл в калькуляторе но выдаёт ошибку, как это исправить? - вопрос №5096107

while n == 'Y' or n == 'y': num1 = int (input('Введите первое число: ')) num2 = int (input('Введите второе число: ')) v = int(input('Напиши, какую операцию ты хочешь сделать? \n 1.Сложение \n 2.Вычитание \n 3.Деление \n 4.Умножение \n 5.Возвести в степень \n 6.Деление с остатком \n')) if v == 1: a = num1 + num2 f = 'сложение' if v == 2: a = num1 — num2 f = 'вычитание' if v == 3: a = num1 // num2 f = 'деление' if v == 4: a = num1 * num2 f = 'умножение' if v == 5: a = num1 ** num2 f = 'число в степени' if v == 6: a = num1 % num2 f = 'деление с остатком' print('Продолжаем Y или нет N') n = input() if n == 'y' or n == 'y': print ('Результат', f, '=', a) else: break

март 10, 2023 г.

  • Всего ответов: 1

  • Денис - аватарка

    Денис

    36-й в Психологии

    В вашем коде есть несколько ошибок:

    В строке if n == 'y' or n == 'y': вы проверяете, равняется ли n строке 'y', а затем снова проверяете, равняется ли n строке 'y'. Второе условие должно быть 'n'.
    Вы не объявили переменную n до использования ее в цикле. Вы можете объявить ее в начале программы и присвоить ей значение 'Y', чтобы цикл начался.
    Исправленный код:

    python

    n = 'Y'
    while n == 'Y' or n == 'y':
        num1 = int(input('Введите первое число: '))
        num2 = int(input('Введите второе число: '))
        v = int(input('Напишите, какую операцию вы хотите сделать? \n 1.Сложение \n 2.Вычитание \n 3.Деление \n 4.Умножение \n 5.Возвести в степень \n 6.Деление с остатком \n'))
        if v == 1:
            a = num1 + num2
            f = 'сложение'
        elif v == 2:
            a = num1 — num2
            f = 'вычитание'
        elif v == 3:
            a = num1 // num2
            f = 'деление'
        elif v == 4:
            a = num1 * num2
            f = 'умножение'
        elif v == 5:
            a = num1 ** num2
            f = 'число в степени'
        elif v == 6:
            a = num1 % num2
            f = 'деление с остатком'
        else:
            print('Неверная операция')
            continue
        print('Результат', f, '=', a)
        print('Продолжаем Y или нет N')
        n = input()
        if n == 'N' or n == 'n':
            break


    Этот код объявляет переменную n и устанавливает ее значение на 'Y'. Затем он повторяет блок кода в цикле while, пока n равно 'Y' или 'y'. Если пользователь вводит неверную операцию, программа сообщает об этом и начинает следующую итерацию цикла. Если пользователь вводит 'N' или 'n', программа прерывает цикл.

    апрель 8, 2023 г.

Похожие вопросы