微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

如果你输入一个实际的数字和运算符,代码工作得很好,如果你输入一个无效的运算符,它实际上会给你一个错误代码,但我想用数字给出相同的错误代码,但我不知道我如何使用 python 3.9 help 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 语句和/或 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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。