Я хочу сделать цикл в калькуляторе но выдаёт ошибку, как это исправить? - вопрос №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.03.23
1 ответ

Ответы

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

В строке 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', программа прерывает цикл.

08.04.23

Глеб Черняк

Сейчас на сайте
Читать ответы

Олег Николаевич

Читать ответы

Alexander

Читать ответы
Посмотреть всех экспертов из раздела Технологии
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store