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

python – 如何随机选择数学运算符并用它来回答重复的数学问题?

发布时间:2020-12-20 12:31:31 所属栏目:Python 来源:网络整理
导读:我有一个简单的数学任务,我在执行时遇到问题,涉及随机导入. 这个想法是有10个随机生成的问题的测验.我使用random.randint函数得到的数字范围为(0,12),工作正常.下一步选择一个随机运算符我遇到了[”,’ – ‘,’*’,’/’]的问题. 我在学校里有更复杂的编码,
我有一个简单的数学任务,我在执行时遇到问题,涉及随机导入.
这个想法是有10个随机生成的问题的测验.我使用random.randint函数得到的数字范围为(0,12),工作正常.下一步选择一个随机运算符我遇到了[”,’ – ‘,’*’,’/’]的问题.

我在学校里有更复杂的编码,但这是我的实践,我需要的是能够随机创建问题并提出问题,同时也能够自己回答它以确定给出的答案是否正确.
这是我的代码:

import random

ops = ['+','-','*','/']
num1 = random.randint(0,12)
num2 = random.randint(0,10)
operation = random.choice(ops)

print(num1)
print(num2)
print(operation)

maths = num1,operation,num2

print(maths)

截至目前,我的输出有点搞砸了.
例如:

3
6
*
(3,6)

显然,它无法确定(3,6)的答案.我将把这个操作变成我的其他程序中的子程序,但它需要先工作!

并且请原谅我,如果它做得不好,这是我在学校完成的任务的快速再现,而且我在这方面也是相当新的,知识有限.提前致谢!

解决方法

Python中有一个名为eval()的函数,用于计算包含数学表达式的字符串.

import random

ops = ['+',10)
operation = random.choice(ops)

print(num1)
print(num2)
print(operation)

maths = eval(str(num1) + operation + str(num2))

print(maths)

你需要将你的数字转换成字符串,因为函数期望像字符串’4 * 2′,’3 1’等等.

(编辑:李大同)

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

    推荐文章
      热点阅读