python 实现

@【python实现】
题目:随机出题,考完之后自动打分,并计算总分
将错的题目重新再做一遍,直到全部做对为止。

代码如下:

import random
from datetime import datetime
begin_time=datetime.now()

topic=[[1,3,‘1.1 在CentOS6 中,系统默认的( ) 用户对整个系统拥有完全的控制权限 \nA: root B: guest C: administrator D: supervistor’,‘A’],
[2,3,‘1.2 如果要列出一个目录下的所有文件,需要使用命令行 () \nA: ls -l B: ls C: ls -a D: ls -d’,‘C’],
[3,3,‘1.3 哪个命令可以将普通用户转换成超级用户 ( ) \nA: super B: passwd C: tar D: su’,‘D’],
[4,3,‘1.4 除非特别指定,cp假定要拷贝的文件在下面哪个目录下 () \nA: 用户目录 B: home目录 C: root 目录 D:当前目录’,‘D’],
[5,3,’ 1.5 在 vi 编辑器里,命令’dd’ 用来删除当前的 ( ) \nA: 行 B: 变量 C: 字 D: 字符’,‘A’],
[6,3,’ 1.6 按下( ) 键能终止当前运行的命令 \nA: Ctrl+C B: Ctrl+F C: Ctrl+B D: Ctrl +D’,‘A’],
[7,3,‘1.7 在 CentOS6 中,一般用( ) 命令来查看网络接口的状态 \nA: ping B: ipconfig C: winipcfg D: ifconfig’,‘D’],
[8,3,’ 1.8 vi中哪条命令是不保存强制退出 ( ) \nA. :wq B. :wq! C. :q! D. :quit’,‘C’],
[9,3,‘1.9 如果用户想对某一命令详细的了解,可用 () \nA: ls B: help C: man D: dir’,‘C’],
[10,3,‘1.10 修改文件 1.txt 权限为 rw–wxr-x,命令应该是 chmod ( )1.txt \nA: 743 B: 645 C: 635 D: 653’,‘C’],
[11,3,‘2.1( ) 命令用于删除一个数据库 \nA: create database B: drop database C: alter database D: Use InnoDB’,‘B’],
[12,3,’ 2.2 要快速完全清空一张表中的记录,可用如下语句() \nA: truncate table B: delete table C: drop table D: clear tab’,‘A’],
[13,3,'2.3 SQL语句中修改表结构的命令是() \nA: modify table B: modify structure C: alter table D: alter structure ',‘C’],
[14,3,‘2.4 删除列的命令是( ) \n A: alter table … delete … B: alter table… delete column… B: alter table … drop record… D: alter table …drop column…’,‘D’],
[15,3,‘2.5 创建表时,不允许某列为空可以用( ) 命令 \nA: not null B: no null C: not blank D: no blank’,‘A’],
[16,3,'2.6 下列描述正确的是( ) \nA: 一个数据库只能包含一个数据表 B: 一个数据库可以包含多个数据表 C: 一个数据库只能包含两个数据表 D: 一个数据表可以包含多个数据库 ',‘B’],
[17,3,‘2.7 select语句中可以使用()关键字将重复行屏蔽 \nA: order by B: having C: top D: distinct’,‘D’],
[18,3,‘2.8 select语句中,按某列升序或降序排列的关键字是() \nA: group by B: limit C: where D: order by’,‘D’],
[19,3,‘2.9 select * from city limit 5,10 描述正确的是( ) \nA: 获取第6条到第10条记录 B: 获取第5条到第10条记录 C: 获取第6条到第15条记录 D: 获取第5条到第15条记录’,‘C’],
[20,3,‘2.10 在MySQL语句中,可以匹配0个到多个字符的通配符是() \nA: * B: % C: ? D: _’,‘B’],
[21,3,‘3.1 运行下列Python 程序,结果正确的是( ) \n A=32 B=14 C=A%B print© \nA: 2 B: 4 C: 32 D: 14’,‘B’],
[22,3,‘3.2 以下 Python 程序运行后,变量X和St的值分别是( ) \n X=123+678 St=”123”+”678” \n A: 801 123678 B: 801 “123678” C: 801 801 D: 123678 “123678”’,‘B’],
[23,3,‘3.3 Python 表达式中,可以使用()控制运算的优先顺序 \nA: 圆括号() B: 方括号[] C: 大括号{} D: 尖括号<>’,‘A’],
[24,3,‘3.4 以下表示元组类型且只有一个元素的是() \n A: [3] B: {3} C: (3) D: (3,)’,'D '],
[25,3,‘3.5 以下Python程序运行结果是( ) \nfor i in range(1,10,3): print(i,end=””) \nA: 1 4 7 B: 1 4 7 10 C: 2 5 8 D: 2 5 8 11’,‘A’],
[26,3,‘3.6 以下Python程序运行结果是() \n a=1 while a<9: print(a,end=””) a+=4 \n A: 1 5 9 B: 1 5 C: 1 4 7 D: 1 4 8’,‘B’],
[27,3,‘3.7 以下Python程序运行结果是( ) \n for i in range(1,5): if i == 3: break print(a,end=””) \nA: 1 2 3 4 B: 1 2 C: 1 2 4 D: 1 2 4 5’,‘B’],
[28,3,'3.8 以下Python程序运行结果是( ) \n x = [1,2,3,4,5] print(x[3]) \nA: 3 B: 4 C: 5 D: 2 ',‘B’],
[29,3,‘3.9 以下Python程序运行结果是( ) \n a,b,c=1,2,3 if a!=1 and not b==2 or c>2: print(1) else: print(2) \nA: 1 B:2 C: 3 D: NULL’,‘A’] ,
[30,3,'3.10 以下Python程序运行结果是( ) \n a=”Hea@fsf,fe@Hello@ M u @ Mu@ Mu@#Name” print(a.split(‘@’)[2][:2]) \n A: “fe” B: “He” C: “ M ” D : “ M” D: “ MD:#” ',‘B’]]

name=input(‘请输入您的姓名’)

while 1:
score=0
now_topic=1

Topic=random.sample(range(1,len(topic)+1),len(topic))
mistake=[]
id=0

for topic_num in Topic:
    print(f'当前是第{now_topic}/{len(topic)}题')
    print(topic[topic_num-1][2])
    while 1:
        answer=input('请答题:')
        if answer in ('A','B','C','D','a','b','c','d'):
            if answer.upper()==topic[topic_num-1][3]:
                score+=topic[topic_num-1][1]
                print(f'答对了,本题得{topic[topic_num-1][1]}分')
            else:
                print(f'答错了,正确答案为{topic[topic_num-1][3]},目前得分{score}分')
                id+=1
                mistake.append([id,topic[topic_num-1][1],topic[topic_num-1][2],topic[topic_num-1][3]])
            now_topic+=1
            break
        else:
            print('请输入正确的A/B/C/D/a/b/c/d')
if len(topic)==30:
    print(f'当前考生的姓名:{name},成绩为:{score}分,共{len(topic)}题,满分为100分')
    print(f'开始时间为{begin_time},结束时间为{datetime.now()}')
    if score<60:
        print('不及格,请重修')
    else:
        print('及格了')
print('*'*99)

if len(mistake)==0:
    print('全部答对了')
    break
else:
    topic.clear()
    topic.extend(mistake)

链接: link.

图片: 在这里插入图片描述————————————
CSDN@_留_白 版权所有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值