以下代码已经调试了,欢迎测试~有更多好用的欢迎评论区分享~
import random
# 生成随机整数
def generate_random_integer(start, end):
return random.randint(start, end)
# 生成四则运算题目
def generate_arithmetic_question(min_value, max_value):
operator = random.choice(['+', '-', '*', '/'])
if operator == '+':
question = f"{generate_random_integer(min_value, max_value)} {operator} {generate_random_integer(min_value, max_value)} = "
answer = str(eval(question[:-2]))
elif operator == '-':
a = generate_random_integer(min_value, max_value)
b = generate_random_integer(min_value, a)
question = f"{a} {operator} {b} = "
answer = str(eval(question[:-2]))
elif operator == '*':
question = f"{generate_random_integer(min_value, max_value)} {operator} {generate_random_integer(min_value, max_value)} = "
answer = str(eval(question[:-2]))
else:
b = generate_random_integer(min_value, max_value)
while b == 0:
b = generate_random_integer(min_value, max_value)
a = generate_random_integer(min_value, max_value // b)
question = f"{a} {operator} {b} = "
answer = str(a / b) if a > b else str(eval(question[:-2]))
return question, answer
# 主程序
def main(num_questions, min_value, max_value):
for _ in range(num_questions):
question, answer = generate_arithmetic_question(min_value, max_value)
print(question)
#print(question, answer)
if __name__ == "__main__":
main(20, 1, 100) # 生成10个题目,数值范围在1到100之间
运行结果如下:
14 / 7 =
57 + 89 =
74 - 61 =
67 + 74 =
33 * 88 =
18 * 52 =
1 / 87 =
22 - 2 =
81 - 79 =
34 - 14 =
1 / 73 =
1 / 91 =
97 + 61 =
1 / 79 =
98 * 53 =
1 / 89 =
2 / 5 =
93 * 58 =
1 / 99 =
34 - 26 =
Process finished with exit code 0