加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python:使用列表中的运算符的数学运算

发布时间:2020-12-20 12:12:16 所属栏目:Python 来源:网络整理
导读:假设我有一个包含数学运算符的列表,就像这样 operators = ['+','-','*','/'] 而且我从这里开始随机操作,就像这样 op = random.choice(operators) 如果我取两个数字,比如4和2,我怎样才能让Python用数字进行数学运算(名为’op’)? 解决方法 您最好不要将运算
假设我有一个包含数学运算符的列表,就像这样

operators = ['+','-','*','/']

而且我从这里开始随机操作,就像这样

op = random.choice(operators)

如果我取两个数字,比如4和2,我怎样才能让Python用数字进行数学运算(名为’op’)?

解决方法

您最好不要将运算符指定为文本.只需使用lambda表达式或运算符模块:

import operator
import random

operators = [operator.add,operator.sub,operator.mul,operator.floordiv]
op = random.choice(operators)

然后,您可以通过使用两个参数调用它来调用op,例如:

result = op(2,3)

例如:

>>> import operator
>>> import random
>>> 
>>> operators = [operator.add,operator.sub,operator.mul,operator.floordiv]
>>> op = random.choice(operators)
>>> op
<built-in function sub>
>>> op(4,2)
2

所以你可以看到,随机选择了子运算符,所以它从4中减去2.

如果你想定义一个操作符不支持的函数,你可以使用lambda表达式,如:

operators = [operator.add,lambda x,y:x+2*y]

所以在这里你指定了一个函数,它接受参数x和y并计算x 2 * y(当然你可以自己定义一个任意表达式).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读