首页 > 解决方案 > 我知道这可以使用 and 运算符来完成,但我想用 if else 语句来做到这一点

问题描述

对于某些特定的输入,它应该打印预设输出。但它不适用于第三个 elif 语句

operator = {"+", "-", "*", "/"}
number1 = int(input("Enter number1: "))
print("Available action: ", operator)
action = input("What do you want to do? ")
number2 = int(input("Enter number2: "))

if (number1 == 45):
  if (action == "+"):
    if (number2 == 3):
      print(number1, " + ", number2, " = ", 555)

elif (number1 == 56):
  if (action == "+"):
    if (number2 == 9):
      print(number1, " + ", number2, " = ", 77)

elif (number1 == 56):
  if (action == "/"):
    if (number2 == 6):
      print(number1, " / ", number2, " = ", 4)

elif (action == "+"):
  print(number1, " + ", number2, " = ", number1 + number2)

elif (action == "-"):
  print(number1, " - ", number2, " = ", number1 - number2)

elif (action == "*"):
  print(number1, " * ", number2, " = ", number1 * number2)

elif (action == "/"):
  print(number1, " / ", number2, " = ", number1 / number2)

else:
  print("Invalid Input")

这适用于第一个条件

if (number1 == 45):
  if (action == "+"):
    if (number2 == 3):
      print(number1, " + ", number2, " = ", 555)

输出

Enter number1: 45
Available action:  {'*', '/', '+', '-'}
What do you want to do? +
Enter number2: 3
45  +  3  =  555

也适用于第二种情况

elif (number1 == 56):
  if (action == "+"):
    if (number2 == 9):
      print(number1, " + ", number2, " = ", 77)

输出

Enter number1: 56
Available action:  {'+', '-', '/', '*'}
What do you want to do? +
Enter number2: 9
56  +  9  =  77

但它不适用于第三个条件

elif (number1 == 56):
  if (action == "/"):
    if (number2 == 6):
      print(number1, " / ", number2, " = ", 4)

对于第三个条件

输出

Enter number1: 56
Available action:  {'*', '-', '/', '+'}
What do you want to do? /
Enter number2: 6

它适用于其他输入。

Enter number1: 30
Available action:  {'/', '+', '-', '*'}
What do you want to do? /
Enter number2: 2
30  /  2  =  15.0

为什么它不适用于第三elif条语句?

标签: python-3.x

解决方案


你可以这样做

elif number1 == 56:
    if action == "+":
        if number2 == 9:
            print(number1, " + ", number2, " = ", 77)
    elif action == "/":
        if number2 == 6:
            print(number1, " / ", number2, " = ", 4)

推荐阅读