吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 329|回复: 12
收起左侧

[其他求助] 求一个计算出题器

[复制链接]
一叶知夏 发表于 2024-9-10 13:46
40吾爱币
要求:
可以自定义加减乘除,可以自定义加减乘除的项数,可以自定义每一项取值的范围,
可以在线检验自己输入的答案是否正确并记录答题时间

最佳答案

查看完整内容

不是这样的吗? 这个满足不?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Cristy 发表于 2024-9-10 13:46
  


不是这样的吗? 这个满足不?

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
一叶知夏 + 1 + 1 谢谢@Thanks!

查看全部评分

yiwenji 发表于 2024-9-10 15:01
https://www.52pojie.cn/forum.php?mod=viewthread&tid=1957020&highlight=%D0%A1%D1%A7
 楼主| 一叶知夏 发表于 2024-9-10 15:11
yiwenji 发表于 2024-9-10 15:01
https://www.52pojie.cn/forum.php?mod=viewthread&tid=1957020&highlight=%D0%A1%D1%A7

不符合要求
Dmark 发表于 2024-9-10 15:17
本帖最后由 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修改

免费评分

参与人数 1热心值 +1 收起 理由
lnxctz + 1 谢谢@Thanks!

查看全部评分

Cristy 发表于 2024-9-10 15:21
https://www.123pan.com/s/XxfSVv-dkF4?提取码:I0A9
看看行不行
 楼主| 一叶知夏 发表于 2024-9-10 15:26
Cristy 发表于 2024-9-10 15:21
https://www.123pan.com/s/XxfSVv-dkF4?提取码:I0A9
看看行不行

点击生成题目没有反应
 楼主| 一叶知夏 发表于 2024-9-10 15:44
Cristy 发表于 2024-9-10 15:31
不是这样的吗? 这个满足不?

重新打开后可以用了,那可以设置出题的数量吗,比如一次性出好几道题目?
Cristy 发表于 2024-9-10 16:29
一叶知夏 发表于 2024-9-10 15:44
重新打开后可以用了,那可以设置出题的数量吗,比如一次性出好几道题目?

调一下  稍等
Cristy 发表于 2024-9-10 17:15
https://www.123pan.com/s/XxfSVv-AkF4?提取码:N3fJ
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-13 16:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表