"если выбор в" означает, что это недостижимо - PullRequest
0 голосов
/ 07 августа 2020
def add(x,y): return x+y

def subtract(x,y): return x-y

def divide(x,y): return x/y

def multiply (x,y): return x*y

print("select operation.") print('1.add') print('2.subtract') print('3.divide') print('4.multiply')

while True: choice=input('Enter choice(1/2/3/4):') if choice in ('1','2','3','4'): num1=float(input("Enter first number: ")) num2=float(input("Enter second number: ")) if choice =='1': print(num1,"+", num2,"=", add(num1,num2))

elif choice =='2': print(num1,"-", num2,"=", subtract(num1,num2))

elif choice =='3': print(num1,"/", num2,"=", divide(num1,num2))

elif choice =='4': print(num1,"*", num2,"=", multiply(num1,num2)) 'break' else: print("invalid input")

elif choice =='2':
print(num1,"-", num2,"=", subtract(num1,num2))

elif choice =='3':
print(num1,"/", num2,"=", divide(num1,num2))

elif choice =='4':
print(num1,"*", num2,"=", multiply(num1,num2))
'break'
else:
print("invalid input")

1 Ответ

1 голос
/ 07 августа 2020

Просто отформатировал ваш код (Python области определены с отступом, поэтому будьте осторожны при размещении кода где-нибудь), заменил 'break' на break, добавил break после каждого вычисления, переместил два else до конца соответствующей области видимости и удалили дублированные вами дополнительные условия. Теперь все работает нормально:

def add(x,y):
  return x+y

def subtract(x,y):
  return x-y

def divide(x,y):
  return x/y

def multiply (x,y):
  return x*y

print("select operation.")
print('1.add')
print('2.subtract')
print('3.divide')
print('4.multiply')

while True:
  choice=input('Enter choice(1/2/3/4):')
  
  if choice in ('1','2','3','4'):
    num1=float(input("Enter first number: "))
    num2=float(input("Enter second number: "))
  
    if choice =='1':
      print(num1,"+", num2,"=", add(num1,num2))
      break
    elif choice =='2':
      print(num1,"-", num2,"=", subtract(num1,num2))
      break
    elif choice =='3':
      print(num1,"/", num2,"=", divide(num1,num2))
      break
    elif choice =='4':
      print(num1,"*", num2,"=", multiply(num1,num2))
      break
    else:
      print("invalid input")
  else:
    print("invalid input")

Вывод с входами «1», «2» и «4»:

select operation.
1.add
2.subtract
3.divide
4.multiply
Enter choice(1/2/3/4):1
Enter first number: 2
Enter second number: 4
2.0 + 4.0 = 6.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...