代码拉取完成,页面将自动刷新
# -*- 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])
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。