我构建了一个计算器,如果他们没有输入任何数字,我想给出错误

I build a calculator and I want to give error if they didn't type any number

如果你输入一个实际的数字和运算符,代码工作得很好,如果你输入一个无效的运算符,它实际上会给你一个错误代码,但我想用数字给出相同的错误代码,但我不知道如何使用 python 3.9 帮助 plz

num1 = float(input('Enter First Number:'))
op = input('Enter operator:')
num2 = float(input('Enter Second Number:'))

if op == '+':
    print(num1 + num2)
elif op == '-':
    print(num1 - num2)
elif op == '*':
    print(num1 * num2)
elif op == '/':
    print(num1 / num2)
else:
    print('enter an operator plz')

也许可以尝试以下方法:

invalid = True

while invalid:
    try:
        num1 = float(input('Enter First Number:'))
        op = input('Enter operator:')
        num2 = float(input('Enter Second Number:'))
        invalid = False
    except ValueError:
        print("Please enter a valid number")

if op == '+':
    print(num1 + num2)
elif op == '-':
    print(num1 - num2)
elif op == '*':
    print(num1 * num2)
elif op == '/':
    print(num1 / num2)
else:
    print('enter an operator plz')

您想使用 try/catch 语句 and/or while 循环每个步骤。

flag1,flag2,operator =True,True,True

while flag1:
    try:
        num1 = float(input('Enter first Number:'))
        flag1 = False
    except ValueError:
        print("Enter a valid first number please")
        
while operator:
    op = input('Enter operator:')
    if not (op=='+' or op =='-' or op =='*' or op=='/'):
        print('Enter a valid operator please')
    else:
        operator=False

while flag2:
    try:
        num2 = float(input('Enter second Number:'))
        flag2 = False
    except ValueError:
        print("Enter a valid second number please")        

if op == '+':
    print(num1 + num2)
elif op == '-':
    print(num1 - num2)
elif op == '*':
    print(num1 * num2)
elif op == '/':
     print(num1 / num2)