需求分析:要先设计题库,然后在规定时间内循环随机出题,判断输入的答案是否正确,并统计答对问题的次数,如果答题时间到,则退出循环,结束答题。

        具体实现步骤:

1、创建字典bank保存题库,问题为键,正确答案为值。问题使用元组保存,题干和选项为元组的元素。

2、使用keys()方法获取bank的所有键(问题),然后使用list()方法转换为列表ba。

3、创建变量time1、number和count。time1表示开始时间,使用time模块的time()函数获取。number保存问题在ba列表中的索引,初始赋值为空列表。count统计答对问题的次数,初始赋值为0.

4、使用while循环,判断条件为True,在循环中进行以下操作:

4.1、使用randint()函数生成一个0-len(ba)-1的随机整数index,作为列表的索引。判断index是否在number中(即该索引对应的问题是否已经出现过了)如果是则使用continue结束本次循环,否则将Index添加到number中

4.2、使用for循环输出ba[index]中的元素

4.3、使用input()函数输入答案,并赋给answer。然后判断answer与该问题的答案是否相等,并且输出是否答对提示,答对则将count加1.

4.4、使用time模块的time()函数获取当前时间,并赋给time2.然后计算time2和time1的差值,判断差值是否大于规定时间,如果是则输出count,并退出循环。

import random
import time#创建字典bank,问题为“键”,答案为“值”
bank = {('点字成诗(九宫格),从下面九个字中识别一句诗词。', '花 多 又', '知 逢 时', '雨 少 落'): '花落知多少',('点字成诗(十二宫格),从下面十二个字中识别一句诗词。', '柳  生  一  白', '云  亮  有  家', '花  处  人  暗'): '白云生处有人家',('“会当凌绝顶,一览众山小。”描写的是哪座山?', 'A.庐山', 'B.黄山', 'C.泰山'): 'C',('请问:《望庐山瀑布》的作者是下面哪位诗人?', 'A.王维', 'B.李白', 'C.杜甫'): 'B',('填空:窗含( )岭千秋雪。', 'A.东', 'B.南', 'C.西'): 'C',('请问:名句“海上生明月,天涯共此时”出自下面哪首诗?', 'A.杜甫《月夜忆舍弟》', 'B.张九龄《望月怀远》', 'C.李白《闻王昌龄左迁龙标遥有此寄》'): 'B',('请问:成语“寸草春晖”出自下面哪首诗?', 'A.白居易《赋得古原草送别》', 'B.苏轼《春夜》', 'C.孟郊《游子吟》'): 'C',('请问:下面成语中哪个不是出自杜牧的诗?', 'A.豆蔻年华', 'B.折戟沉沙', 'C.壮志未酬'): 'C',('填空:( )十三余,豆蔻枝头二月初。',): '娉娉袅袅',('填空:花径不曾( )客扫,蓬门今始为君开。',): '缘',('请问:中国古代有四大美女,请问宋代王安石《明妃曲》写的是其中哪一位?', 'A.西施', 'B.王昭君', 'C.貂蝉'): 'B',('请根据下面线索说出一位诗人?', 'A.宋代一位著名的状元', 'B.中国历史上的一位民族英雄', 'C.创作有名句“人生自古谁无死,留取丹心照汗青。”'): '文天祥',
}
#获取bank的所有键,并转换为列表
ba=list(bank.keys())
number=[] #创建空列表,保存题目的索引
count=0 #答对的问题数
time1=time.time() #开始时间
while True:# 生成0-len(ba)-1的随机整数index,即通过随机索引下标来选取题目index=random.randint(0,len(ba)-1)if index in number: #如果index在number中continue #结束本次循环number.append(index) #将index添加到number中for it in ba[index]: #遍历问题元组中的元素print(it) #输出问题answer=input('请输入正确答案:')if answer==bank[ba[index]]: #如果答案正确print('恭喜你,答对了!')count+=1 #答对的问题数加1else:print('很遗憾,答错了!')time2=time.time() #获取当前时间de_time=int(time2-time1) #计算答题总时间if de_time>30:print('时间到,答题结束!您本次答对',count,'道题')break

Python之“诗词大会”游戏相关推荐

  1. Python + ElasticSearch:有了这个超级武器,你也可以报名参加诗词大会了! | 博文精选...

    来源 | CSDN 博客 作者 | 天元浪子 责编 | Carol 出品 | CSDN云计算(ID:CSDNcloud) 意犹未尽的诗词大会 正月十六,中国诗词大会第五季落下帷幕.从2016年2月12 ...

  2. 用Python+小程序实现诗词大会的飞花令 !

    写在前面 在2018年下半年的某一天,偶然观看了<中国诗词大会>节目的飞花令环节.当时作为语音行业一员对此十分感兴趣,想着能不能用程序实现一个,思考技术方案的时候发现最大难度就是数据,遂求 ...

  3. 使用Python+小程序实现诗词大会的飞花令

    前言 在2018年下半年的某一天,偶然观看了<中国诗词大会>节目的飞花令环节.当时作为语音行业一员对此十分感兴趣,想着能不能用程序实现一个,思考技术方案的时候发现最大难度就是数据,遂求助 ...

  4. python爬虫后进行诗词接龙_飞花令今天看了诗词大会特别有感触,还上了热搜,史上最长飞花令...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 飞花令 今天看了诗词大会特别有感触,还上了热搜,史上最长飞花令.接的圆周率,接到小数点后边第204位!真的很佩服各位的诗词储量.故此开了本帖,依葫芦画瓢, ...

  5. python编的俄罗斯方块游戏下载_python写的俄罗斯方块游戏

    python写的俄罗斯方块游戏 功能包括:记录所花费时间;消去的总行数;总分;排行榜,最高记录查看等. 排行榜中包含一系列的统计功能,如单位时间消去的行数,单位时间得分等. from Tkinter ...

  6. 10行Python,搭建一个游戏AI | 视频教程

    昨天为大家推荐了三个Python视频,包含:<利用Python,用4分钟时间搭建一个情感分析系统>.<7行Python代码,搭建一个可以识花的机器学习APP>.<10行P ...

  7. python俄罗斯方块算法详解_用 Python 写一个俄罗斯方块游戏 (

    @@ -2,34 +2,34 @@ > * 原文作者:[Dr Pommes](https://medium.com/@pommes) > * 译文出自:[掘金翻译计划](https://g ...

  8. python 玩公众号游戏_Python入门太难?不如从玩塔防小游戏开始,玩通关就能学会编程...

    我一直认为,在python入门阶段学习基础理论,太枯燥.所以我们整理了很多有关python的项目案例,有详细教程还有源码,希望能帮助更多对python感兴趣的人. 这是其中一个适合入门的Python项 ...

  9. python抽奖游戏_python实现转盘效果 python实现轮盘抽奖游戏

    本文实例为大家分享了python实现转盘效果的具体代码,供大家参考,具体内容如下 #抽奖 面向对象版本 import tkinter import time import threading clas ...

  10. python手机版做小游戏代码大全-python简单小游戏代码 怎么用Python制作简单小游戏...

    1.Python猜拳小游戏代码: 2.import random #导入随机模块 3. 4.num = 1 5.yin_num = 0 6.shu_num = 0 7.while num <= ...

最新文章

  1. 彻底弄懂flex布局
  2. /etc/rc.d/rc.sysinit 分析
  3. PLMN选择,RPLMN、EPLMN、UPLMN、OPLMN、VPLMN、APLMN、FPLMN的概念
  4. linux下多线程实现服务端
  5. 【Python基础】Pandas笔记---通过比赛整理出的10条Pandas实用技巧
  6. CIFAR-10数据集可视化Python版本
  7. 如何获取 SAP Commerce Cloud Spartacus UI 购物车 Cart 的加载状态
  8. 主成分分析和因子分析区别与联系
  9. Mongodb学习总结(1)——常用NoSql数据库比较
  10. vector java 复制_Java性能优化必知的40个细节(珍藏版):Jvm调优+MySQL+Tomcat
  11. c语言宿舍管理系统程序,C语言——学生宿舍管理系统
  12. 微信开发 自动转发朋友圈 自动添加好友等等
  13. transformer变体
  14. 用选择法或冒泡法对输入的50个字符(按照ASII码由小到大)进行排序
  15. Web前端如何快速的兼容手机
  16. c语言编程为啥弹出的框会闪退,js中提示框闪退问题
  17. HI3516DV300笔记(二)硬件适配
  18. 语音处理/语音识别基础(三)- 声音的特征和声音的能量
  19. STC89C52定时器的简介
  20. 匿名社交?无秘模式基本宣告失败

热门文章

  1. 华为云会议的前世今生
  2. 爬虫笔记——urllib实战之淘宝零食板块爬取
  3. 软件开发测试版本控制说明
  4. 图像元数据(Metadata) ——Exif信息分析
  5. [逆向]汇编movs,stos,rep指令讲解
  6. Python解微分方程
  7. Java学习总结与反思
  8. matlab调用ANSYS
  9. 关于方法A调用方法B的事务控制问题
  10. 英国essay与澳洲essay写作区别以及注意事项