设计小型的加减乘除测试小程序。(由系统随机出10个加减乘除运算题目,运算数和运算符都由系统随机给出,系统自动给出答题结果和运算时间。)代碼
时间: 2024-10-10 08:13:11 浏览: 20
设计一个小型的加减乘除测试小程序,你可以使用Python作为示例语言,因为它简单易懂且适合快速原型开发。以下是简单的代码实现:
```python
import random
import time
def generate_problem():
operators = ['+', '-', '*', '/']
num1 = random.randint(1, 10)
num2 = random.randint(1, 10)
operator = random.choice(operators)
if operator == '/':
# 防止除数为零的情况
while num2 == 0:
num2 = random.randint(1, 10)
return f"{num1} {operator} {num2}", operator
def calculate(num1, operator, num2):
start_time = time.time()
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
else: # operator is '/'
result = num1 / num2
end_time = time.time()
return result, end_time - start_time
def test_calculator():
correct_answers = []
for _ in range(10):
problem, expected_operator = generate_problem()
user_answer, elapsed_time = calculate(int(problem.split()[0]), problem.split()[1], int(problem.split()[2]))
print(f"问题:{problem}")
print(f"答案:{user_answer}")
if user_answer == eval(problem): # 判断用户输入是否正确
correct_answers.append(True)
print("正确!")
else:
correct_answers.append(False)
print("错误!")
print(f"运算时间:{elapsed_time:.6f}秒")
print("\n")
accuracy = sum(correct_answers) / len(correct_answers) * 100
print(f"\n总共答对了{accuracy}%的问题.")
if __name__ == "__main__":
test_calculator()
```
这个程序首先生成10个包含两个随机数和一个运算符的问题,然后让用户计算,同时记录每个题目的解答时间和正确性。最后会显示总的正确率。
阅读全文