算法创作|随机出10道题并计算正确率问题解决方法

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题描述

用文字描述要解决的问题是什么。

示例:随机出10道题并计算正确率

输入:你的结果

输出:你是否正确并出下一道题,10道题之后计算正确率

解决方案

把+、-、*、/四个算数运算符号随机选择,n1代表随机在100数字以内选取一个数字,n2代表随机在1到100以内选取一个数字,n2可能作为分母,所以不能取到0,其他范围可以改,并按照格式化输出的形式编排成一个算数式,用for循环实现循环出10道题。

2.判断随机选取的符号,如果是对应的符号,则答案为对应数字中间为对应符号计算答案,此答案代表正确答案。

3.设置一个输出,此输出为你的答案,如果选择123则表示退出,如果继续作答则继续计算你的算数式并写出你的结果,判断你的结果与正确结果是否相等,如果不相等则进入下一道题,如果相等则进入下一道题,并将正确的题数进行计数,10道题结束之后就计算你在10道题里面的正确率。

代码清单 1 DFS求解1到100求和问题Python代码

Courier New字体,23磅行间距

import random

count = 0

for i in range(10):

    fuhaolist = ['+','-','*','/']

    fuhao = random.choice(fuhaolist)

    n1 = random.randint(0,100)

    n2 = random.randint(1,100)

    print(f'{n1}{fuhao}{n2}=')

# 计算正确率

    if fuhao == '+':

        asw = n1 + n2

    elif fuhao == '-':

        asw = n1 - n2

    elif fuhao == '*':

        asw = n1 * n2

    elif fuhao == '/':

        asw = round(n1 / n2,2)

 

    your_asw = eval(input('请输入答案,退出请按123:'))

 

    if your_asw == asw:

        count +=1

    elif your_asw == 123:

        print('退出')

        break

    else:

        print('回答错误')

percent = (count/10)*100

print(f'你一共答对了{count}道题,正确率为{percent}%')

结语

本文章是解决随机选取问题以及用格式化输出编排格式,但是就只用到了+、-、*、/四个运算符号,而且所出的题也比较简单,所以后续还需要更加完善里面的算法。

主编:欧洋

作者:辜启书、赵晨曦、文裕龙

稿件来源:深度学习与文旅应用实验室(DLETA)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法与编程之美

欢迎关注『算法与编程之美』

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值