python-3.x - 我知道这可以使用 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)
对于第三个条件
- 当 number1 = 56, action = "/" and number2 = 6. is 应该打印 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
条语句?
解决方案
你可以这样做
elif number1 == 56:
if action == "+":
if number2 == 9:
print(number1, " + ", number2, " = ", 77)
elif action == "/":
if number2 == 6:
print(number1, " / ", number2, " = ", 4)
推荐阅读
- php - 将 csv 数据传输到后端的最有效方法
- assembly - 在汇编代码中指定源代码中的 ASCII 字符的三种语法是什么?
- c++ - cannot Segment a RGB image by pointer based accessing pixel intensities
- javascript - Angular 2+ 在 app.component.ts 方法中使用 jQuery 的附加选项
- python-3.x - 理解排序函数python的工作原理
- git - Windows 上的 Git text=auto core.autocrlf=false 提供 CRLF
- c++ - 使用 GDB 并检查 Data 的内存布局
- c# - 如何在返回类型为 Task 的方法中尝试捕获?
- python - python生成器比嵌套for循环快吗?
- sql-server - SQL Server:仅选择具有多列的记录的第一个实例