题库随机出题(python+excel)

这段练习笔记的代码实现使用了Pandas库来读取Excel数据,并通过随机数来随机选择一行作为题目,然后将题目和选项输出到控制台,让用户输入答案并判断是否正确。

这里简单解释一下代码的实现过程:

首先,通过pd.read_excel()方法读取Excel数据,将数据存储在一个Pandas的DataFrame对象中。然后,使用random.randint()方法生成一个随机数,该随机数的范围为DataFrame的行数。随机数生成后,使用df.iloc[]方法选择该行数据,并使用list()方法将该行数据转换为列表,然后使用索引取出题目和选项。接着,使用input()方法让用户输入答案,并将用户输入的答案与正确答案进行比较,如果相同则输出"回答正确",否则输出"回答错误"。

需要注意的是,该代码实现中并没有对用户的输入进行合法性检查,例如输入了非A、B、C、D的选项,这是需要在代码中添加相应的判断和处理逻辑的。你可以按照择机的需求适当修改或者添加上相应的判断,例如如果用户输入的是“a,b,c,d”依然可以和“A,B,C,D”对应起来判断答案的正确性。

总之,这段练习笔记是一个简单的随机出题程序,可以帮助初学者了解如何使用Pandas库读取Excel数据,并实现随机出题和答案判断的功能。

注:Excel题库需要自己编写。可以根据自己需要添加或者删除相应的数据。

下述代码中通过pandas库中的read_excel()方法来读取Excel表格中的数据。

题目:通过python读取excel中的题库,并根据所提供的题库随机出题,题库中附有正确答案,通过运行后随机出题,输入正确答案后会提示答案正确,否则提示失败。

import pandas as pd
import random

df = pd.read_excel('Math.xlsx')
# print("生成的二维表题库",df)
hang=random.randint(0,int(df.shape[0])-1)
# print("生成随机题目行数",hang)
print("题目是",list(df.iloc[hang])[1],)
print("选项是",list(df.iloc[hang])[3:7])
x=input("请从A,B,C,D四个选项中选出正确答案")
if x==list(df.iloc[hang])[2]:
    print("回答正确")
else:
    print("回答错误")

注:Math.xlsx为本次的excel数据

题库数据如下:

题库    题库分类   题目 正确答案  答案A  答案B   答案C   答案D
0         数学题库   1+3    C             A:2      B:3      C:4        D:5
1         数学题库   2+5    A             A:7      B:4      C:6        D:8
2         数学题库   3+6    B             A:3      B:9      C:10      D:15

运行结果:

输入错误的结果,运行如下。

 输入正确结果时,效果如下:

基于上述代码,可以应用到类似于儿童算数练习的小程序中。

最后希望大家可以给个再走吧!

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ヾ草木萤火(≧▽≦*)o

希望大家多多支持,我会继续分享

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

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

打赏作者

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

抵扣说明:

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

余额充值