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

解释器不运行 elif 块

如何解决解释器不运行 elif 块

我正在尝试用 python 制作一个简单的计算器,但是,没有执行 elif 块,即使满足其他条件,它也会跳到 else 条件。

    select=input("Please select an operation- \n"
            "1. Add \n"
            "2. Subtract \n"
            "3. Multiply \n"
            "4. Divide \n")
    number1=input("Enter the first number: \n")
    number2=input("Enter the second number: \n")

   if select == 1:
        print(number_1,"+",number_2,"=",add(number_1,number_2))
  
   elif select == 2:
        print(number_1,"-",subtract(number_1,number_2))
  
   elif select == 3:
        print(number_1,"*",multiply(number_1,number_2))
  
   elif select == 4:
        print(number_1,"/",divide(number_1,number_2))
   else:
        print("Invalid input")

解决方法

试试这个

select=input("Please select an operation- \n"
             "1. Add \n"
             "2. Subtract \n"
             "3. Multiply \n"
             "4. Divide \n")
number_1 = input("Enter the first number: \n")
number_2 = input("Enter the second number: \n")

print("selection is " + select)

if select == "1":
    print(number_1,"+",number_2,"=",add(number_1,number_2))
    
elif select == "2":
    print(number_1,"-",subtract(number_1,number_2))
    
elif select == "3":
    print(number_1,"*",multiply(number_1,number_2))
    
elif select == "4":
    print(number_1,"/",divide(number_1,number_2))
else:
    print("Invalid input")


2 == "2" 在 python 中计算为 False

输入函数返回一个字符串。

您还必须使您的 divide add multiply subtract 函数处理字符串输入,或者在像这样传入之前将字符串输入转换为数字

add(float(number_1),float(number_2))

(你在一个地方也有 number_1,在另一个地方有 number1

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