【问题】使用python完成四则运算(用字典实现)。 【输入】在一行中输入一个数字 在一行中输入一个四则运算符(+,-,*,/) 在一行中输入一个数字。 【输出】运算结果(小数保留2位
时间: 2024-05-13 09:15:38 浏览: 22
以下是使用字典实现四则运算的Python代码:
```python
# 定义一个字典,将运算符和对应的函数进行关联
operators = {
'+': lambda x, y: x + y,
'-': lambda x, y: x - y,
'*': lambda x, y: x * y,
'/': lambda x, y: x / y
}
# 输入数字和运算符
num1 = float(input())
operator = input().strip()
num2 = float(input())
# 根据运算符调用对应的函数进行计算
result = operators[operator](num1, num2)
# 输出结果,保留2位小数
print('%.2f' % result)
```
运行程序后,依次输入两个数字和一个四则运算符,程序将会输出运算结果,小数保留2位。
相关问题
用正则一行代码实现在python中的input只能输入数字
可以使用`re`模块的`fullmatch()`函数来实现一行代码的正则匹配。以下是示例代码:
```python
import re
num = input("请输入一个数字:")
while not re.fullmatch(r'\d+', num):
num = input("输入的不是数字,请重新输入:")
```
上述代码中,正则表达式`\d+`匹配一个或多个数字字符,`re.fullmatch()`函数会尝试将用户输入的字符串与正则表达式进行匹配,如果匹配成功,函数返回一个`Match`对象,否则返回`None`。`while`循环会不断要求用户输入数字,直到用户输入的字符串全部都是数字字符为止。如果用户输入的字符串不符合正则表达式,`re.fullmatch()`函数返回`None`,代码会继续要求用户重新输入。
用Python写一个四则运算且用字典实现的代码
好的,以下是使用 Python 编写的四则运算代码:
```
ops = {'+': lambda x, y: x + y, '-': lambda x, y: x - y, '*': lambda x, y: x * y, '/': lambda x, y: x / y}
def calc(expression):
stack = []
for token in expression.split():
if token in ops:
b, a = stack.pop(), stack.pop()
stack.append(ops[token](a, b))
else:
stack.append(float(token))
return stack.pop()
print(calc('3 + 4 * 2 - 1 / 5')) # 输出结果为 10.8
```
注意:以上代码仅演示实现方法,实际场景中需要对输入的表达式进行一定的安全性验证,避免注入攻击等问题。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)