Ai
1 Star 0 Fork 0

lvzr/Four_Arithmetic_Operations for python

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
CreateExercise.py 2.54 KB
一键复制 编辑 原始数据 按行查看 历史
lvzr 提交于 2018-03-31 11:14 +08:00 . push project
# -*- coding: utf-8 -*-
# @Time : 2018/3/23 16:50
# @Author : Lv Zhangrun
# @Site :
# @File : CreateExercise.py
# @Software: PyCharm
import random
operators_list = ["+", "-", "*", "÷"]
operators_dict = {"+": 0, "-": 0, "*": 1, "÷": 1}
max_number = 10
operators_count = 3
def createExerciseList(operators_count, exercise):
if operators_count > 0:
temp = []
if len(exercise) == 0: # 总列表为空时,要插入第一个随机数
temp.append(random.randint(1, max_number)) # 插入第一个操作数
temp.append(operators_list[random.randint(0, 3)]) # 插入操作符
else:
temp.insert(0,
exercise.pop()) # 获取总列表里[[1,"+",2]]或[[[1,"+",2],"*",3]]唯一一组组好的列表,形如[1,"+",2]或者[[1,"+",2],"*",3],插到组装列表temp,temp再加入一个运算符,
temp.append(operators_list[random.randint(0, 3)]) # 插入操作符
# temp=addBrackets(temp)
temp.append(random.randint(1, max_number)) # 插入第二个操作数
# print("temp:"+str(temp))
exercise.append(temp) # 将组成好的,形如[1,"+",2]添加进总列表
# print(str(operators_count) + ":" + str(exercise[0]))
operators_count = operators_count - 1 # 操作符数量减1
return createExerciseList(operators_count, exercise)
else:
return exercise
def getExercises(exercise_list, exercise_str_list):
if type(exercise_list[0]) == list:
# print(exercise_list)
for i in range(len(exercise_list[0]) - 1):
temp = exercise_list[0].pop()
exercise_str_list.append(temp)
return getExercises(exercise_list[0], exercise_str_list)
else:
exercise_str_list.append(exercise_list[0])
return exercise_str_list
if __name__ == '__main__':
for k in range(10):
exercise = [] # 总列表,形如想生成3*2÷4,就是[[[3, '*', 2], '÷', 4]]
exercise_str_list = [] # 用来解析总列表,比如把[[[3, '*', 2], '÷', 4]]解析成[4,'÷',2,'*',3]
exercise_str = ''
# exercise_list = createExerciseList(operators_count, exercise)
exercise = createExerciseList(random.randint(1, 5), exercise)
exercise = getExercises(exercise, exercise_str_list)
for i in range(len(exercise)):
last = str(exercise.pop())
exercise_str = exercise_str + last
print(exercise_str)
# random_number=random.randint(0,max_number)
# print(operators_list[random_number])
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/lzrun/Four_Arithmetic_Operations-for-python.git
git@gitee.com:lzrun/Four_Arithmetic_Operations-for-python.git
lzrun
Four_Arithmetic_Operations-for-python
Four_Arithmetic_Operations for python
master

搜索帮助