我想在 python 中使用 switch case 语句制作计算器
I want to make calculator using switch case statement in python
我可以使用 If 和 elsif 语句制作计算器,但我无法使用 switch case 语句制作它。
我为 switch case 创建了基础知识,但我堆砌了如何获取参数以及如何调用它。
请任何人都可以帮助我。
提前谢谢你
我试过了,但没有用
def addition(num1,num2):
num1 += num2
return num1
def subtraction(num1,num2):
num1 -= num2
return num1
def mul(num1,num2):
num1 *= num2
return num1
def division(num1,num2):
num1 /= num2
return num1
def module(num1,num2):
num1 %= num2
return num1
def default(num1,num2):
return "Incorrect day"
switcher = {
1: addition,
2: subtraction,
3: mul,
4: division,
5: module
}
def switch(operation):
return switcher.get(operation, default)()
print('''You can perform operation
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Module ''')
#Take input from user
choice = int(input("Select operation from 1,2,3,4 : "))
print (switch(choice))
# ...
def switch(operation, num1, num2):
return switcher.get(operation, default)(num1, num2)
# ...
另一种选择是 return 来自 switch
的函数并调用它
# ...
def switch(operation):
return switcher.get(operation, default) # <- no () here, i.e. no calling the function
# ...
print(switch(operation)(num1, num2)) # call the returned function here
您只需要获取两个数字作为输入即可进行运算。试试这个
def addition(num1, num2):
num1 += num2
return num1
def subtraction(num1, num2):
num1 -= num2
return num1
def mul(num1, num2):
num1 *= num2
return num1
def division(num1, num2):
num1 /= num2
return num1
def module(num1, num2):
num1 %= num2
return num1
def default(num1, num2):
return "Incorrect day"
switcher = {
1: addition,
2: subtraction,
3: mul,
4: division,
5: module
}
def switch(operation, num1, num2):
return switcher.get(operation, default)(num1, num2)
print('''You can perform operation
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Module ''')
# Take input from user
choice = int(input("Select operation from 1,2,3,4 : "))
num1 = int(input("Enter first number: "))
num2 = int(input("Enter second number: "))
print (switch(choice, num1, num2))
试试这个
def switch(operation):
return switcher.get(operation, default)
print (switch(choice)(6,2))
如果您仍然对使用 Python 中的 switch case 感兴趣的话,这对您来说是个好消息。
您现在可以使用 match
和 Python 3.10
像这样:
match operation:
case 'Addition':
return num1+num2
case 'Subtraction':
return num1-num2
case 'Multiplication':
return num1*num2
case 'Division':
return num1/num2
case 'Module':
return num1%num2
有关详细信息,请阅读 click here to read this python documentation
我可以使用 If 和 elsif 语句制作计算器,但我无法使用 switch case 语句制作它。 我为 switch case 创建了基础知识,但我堆砌了如何获取参数以及如何调用它。 请任何人都可以帮助我。 提前谢谢你
def addition(num1,num2):
num1 += num2
return num1
def subtraction(num1,num2):
num1 -= num2
return num1
def mul(num1,num2):
num1 *= num2
return num1
def division(num1,num2):
num1 /= num2
return num1
def module(num1,num2):
num1 %= num2
return num1
def default(num1,num2):
return "Incorrect day"
switcher = {
1: addition,
2: subtraction,
3: mul,
4: division,
5: module
}
def switch(operation):
return switcher.get(operation, default)()
print('''You can perform operation
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Module ''')
#Take input from user
choice = int(input("Select operation from 1,2,3,4 : "))
print (switch(choice))
# ...
def switch(operation, num1, num2):
return switcher.get(operation, default)(num1, num2)
# ...
另一种选择是 return 来自 switch
的函数并调用它
# ...
def switch(operation):
return switcher.get(operation, default) # <- no () here, i.e. no calling the function
# ...
print(switch(operation)(num1, num2)) # call the returned function here
您只需要获取两个数字作为输入即可进行运算。试试这个
def addition(num1, num2):
num1 += num2
return num1
def subtraction(num1, num2):
num1 -= num2
return num1
def mul(num1, num2):
num1 *= num2
return num1
def division(num1, num2):
num1 /= num2
return num1
def module(num1, num2):
num1 %= num2
return num1
def default(num1, num2):
return "Incorrect day"
switcher = {
1: addition,
2: subtraction,
3: mul,
4: division,
5: module
}
def switch(operation, num1, num2):
return switcher.get(operation, default)(num1, num2)
print('''You can perform operation
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Module ''')
# Take input from user
choice = int(input("Select operation from 1,2,3,4 : "))
num1 = int(input("Enter first number: "))
num2 = int(input("Enter second number: "))
print (switch(choice, num1, num2))
试试这个
def switch(operation):
return switcher.get(operation, default)
print (switch(choice)(6,2))
如果您仍然对使用 Python 中的 switch case 感兴趣的话,这对您来说是个好消息。
您现在可以使用 match
和 Python 3.10
像这样:
match operation:
case 'Addition':
return num1+num2
case 'Subtraction':
return num1-num2
case 'Multiplication':
return num1*num2
case 'Division':
return num1/num2
case 'Module':
return num1%num2
有关详细信息,请阅读 click here to read this python documentation