本帖最后由 Dmark 于 2024-9-10 15:19 编辑
会Python不,我直接生成了一个
以下是一个基本的Python脚本,可以满足你的需求。这个脚本允许用户自定义加减乘除的项数和每一项的取值范围,并在线检验用户输入的答案是否正确,同时记录答题时间。
[Python] 纯文本查看 复制代码 import random
import operator
import time
def generate_problem(num_terms, value_range, operations):
terms = [random.randint(value_range[0], value_range[1]) for _ in range(num_terms)]
ops = random.choices(operations, k=num_terms-1)
problem = [terms[0]]
for op, term in zip(ops, terms[1:]):
problem.append(op)
problem.append(term)
return problem
def evaluate_problem(problem):
result = problem[0]
for i in range(1, len(problem)-1, 2):
op = problem[i]
next_term = problem[i+1]
if op == '+':
result += next_term
elif op == '-':
result -= next_term
elif op == '*':
result *= next_term
elif op == '/':
result /= next_term
return result
def main():
num_terms = int(input("Enter the number of terms: "))
min_value = int(input("Enter the minimum value of terms: "))
max_value = int(input("Enter the maximum value of terms: "))
operations = []
if input("Include addition? (y/n): ").lower() == 'y':
operations.append('+')
if input("Include subtraction? (y/n): ").lower() == 'y':
operations.append('-')
if input("Include multiplication? (y/n): ").lower() == 'y':
operations.append('*')
if input("Include division? (y/n): ").lower() == 'y':
operations.append('/')
if not operations:
print("No operations selected. Exiting.")
return
value_range = (min_value, max_value)
while True:
problem = generate_problem(num_terms, value_range, operations)
problem_str = " ".join(map(str, problem))
print("Solve this problem: ", problem_str)
start_time = time.time()
user_answer = float(input("Your answer: "))
end_time = time.time()
correct_answer = evaluate_problem(problem)
if user_answer == correct_answer:
print("Correct!")
else:
print(f"Incorrect. The correct answer was {correct_answer}.")
print(f"Time taken: {end_time - start_time:.2f} seconds")
if input("Do you want to solve another problem? (y/n): ").lower() != 'y':
break
if __name__ == "__main__":
main()
使用方法:
运行脚本:执行该脚本,将提示用户输入题目项数、每一项的取值范围,以及要包括的操作(加、减、乘、除)。
生成题目:脚本会生成一个题目,并要求用户输入答案。
检验答案:脚本会检验用户输入的答案是否正确,并记录答题时间。
重复或退出:用户可以选择继续答题或退出。
说明:
生成的问题使用了随机数,因此每次运行可以得到不同的问题。
用户可以选择需要包括哪些操作符。
答题时间记录使用time.time()函数来计算。
这个脚本是一个基础版本,你可以根据需要进行进一步的优化和扩展,例如增加更多的错误处理、用户界面改进等。
后续还有要求自己找AI修改,或者找我也行,我叫AI修改 |