python随机数学题,不限题型,可选择难度,约三百行
时间: 2024-01-06 22:57:16 浏览: 91
以下是一个生成随机数学题的 Python 程序,可以生成简单到复杂的数学题目,并且可以自定义题目数量和难度。
```python
import random
# 生成加减乘除的符号
def operator():
return random.choice(["+", "-", "*", "/"])
# 生成整数或分数
def number():
if random.random() < 0.5:
return str(random.randint(1, 100))
else:
return "{}/{}".format(random.randint(1, 100), random.randint(1, 100))
# 生成算式
def expression(difficulty):
if difficulty == 1:
return "{} {} {}".format(number(), operator(), number())
elif difficulty == 2:
return "{} {} {} {} {}".format(number(), operator(), number(), operator(), number())
elif difficulty == 3:
return "{} {} {} {} {} {} {}".format(number(), operator(), number(), operator(), number(), operator(), number())
else:
return "{} {} {} {} {} {} {} {} {}".format(number(), operator(), number(), operator(), number(), operator(), number(), operator(), number())
# 生成题目
def question(difficulty, count):
for i in range(count):
print("{}. {}".format(i+1, expression(difficulty)))
# 主函数
def main():
difficulty = int(input("请输入难度(1-4):"))
count = int(input("请输入题目数量:"))
question(difficulty, count)
if __name__ == "__main__":
main()
```
运行程序后,会要求输入难度和题目数量,然后就会生成相应难度和数量的数学题。例如,输入难度 2 和题目数量 5,生成的数学题如下:
```
1. 10/68 - 53 * 87
2. 14 * 56 / 43 - 5
3. 18 - 6 + 73 * 41 / 68
4. 2 + 89 / 1 / 35 * 74
5. 53 + 54 / 14 - 32 * 10
```
注意,生成的分数可能是不约分的,需要手动化简。
阅读全文