本帖最后由 zhang1497 于 2021-11-25 19:30 编辑
先上图
最新在练习数字编码表,于是就想着能不能用python做一个程序。
经过指导,代码这样写了:
1。’新的问题来了,怎么实现一直出题,然后答对以后删题,继续出题。答错了不删题,继续下一题。直到字典里的元素为空时,提示闯关成功?
2。经过自己摸索,翻书,查百度。完成了。
3.还要再加上一个提前结束的指令,有什么没那么多时间。还没研究。下午再研究下。
[Python] 纯文本查看 复制代码 import random
A={"00":"望远镜","01":"小树","02":"铃儿","03":"凳子","04":"轿车","05":"手套","06":"手枪","07":"锄头","08":"溜冰鞋","09":"猫",
"0":"呼啦圈","1":"蜡烛","2":"鹅","3":"耳朵","4":"帆船","5":"钩子","6":"勺子","7":"镰刀","8":"眼睛","9":"哨子","10":"棒球",
"11":"梯子","12":"椅儿","13":"医生","14":"钥匙","15":"鹦鹉","16":"石榴","17":"仪器","18":"糖葫芦","19":"衣钩","20":"香烟",
"21":"鳄鱼","22":"双胞胎","23":"和尚","24":"闹钟","25":"二胡","26":"河流","27":"耳机","28":"恶霸","29":"饿囚","30":"三轮车",
"31":"鲨鱼","32":"扇儿","33":"星星","34":"三丝","35":"山虎","36":"山鹿","37":"山鸡","38":"妇女","39":"山丘","40":"司令",
"41":"蜥蜴","42":"柿儿","43":"石山","44":"蛇","45":"师父","46":"饲料","47":"司机","48":"石板","49":"湿狗","50":"武林",
"51":"工人","52":"鼓儿","53":"乌纱帽","54":"青年","55":"火车","56":"蜗牛","57":"武器","58":"尾巴","59":"蜈蚣","60":"榴莲",
"61":"儿童","62":"牛儿","63":"流沙","64":"螺丝","65":"绿壶","66":"溜溜球","67":"绿漆","68":"喇叭","69":"太极","70":"麒麟",
"71":"鸡翼","72":"企鹅","73":"花旗参","74":"骑士","75":"西服","76":"汽油","77":"机器","78":"青蛙","79":"气球","80":"巴黎",
"81":"白蚁","82":"靶儿","83":"芭蕉扇","84":"巴士","85":"保姆","86":"八路","87":"白旗","88":"爸爸","89":"芭蕉","90":"酒瓶",
"91":"球衣","92":"球儿","93":"旧伞","94":"首饰","95":"酒壶","96":"蝴蝶","97":"旧旗","98":"酒杯","99":"舅舅"}
while len(A) != 0: #建立一个判断,当列表不为空时,执行以下代码。
qustion = random.choice(list(A.keys())) #用字典A的key建立一个list(列表),通过random函数随机抽一个key,定义question变量
answer = input('%s-' % (qustion)) #输入key键所对应的value值,例如给的是“00”这个键,那输入“望远镜”这个值。
if answer == A[qustion]: #判断输入的这个值是不是对应了A列表里的key键。
print("恭喜你,答对了") #如果对了,打印“恭喜你答对了”
del A[qustion] #删除这个key,value。不断做对,列表A会越爱越少,直到变成空列表。
continue #答对了题目,继续出题。
else: #如果输入的这个值不是key键所对应的。
print('不好意思,你答错了,正确答案是',A[qustion]) #打印“不好意思,你错了”,并输入正确答案。不删题处理。
print("恭喜你过关了") #如果列表为空了,说明全部做对了,打印“恭喜过关”
4.晚上给它加上了分数和次数。接下来要再完善下多少分才算通关,否则失败。以及如何提前退出循环系统。注释如有不对还望提醒。
[Python] 纯文本查看 复制代码 import random
A={"00":"望远镜","01":"小树","02":"铃儿","03":"凳子","04":"轿车","05":"手套","06":"手枪","07":"锄头","08":"溜冰鞋","09":"猫",
"0":"呼啦圈","1":"蜡烛","2":"鹅","3":"耳朵","4":"帆船","5":"钩子","6":"勺子","7":"镰刀","8":"眼睛","9":"哨子","10":"棒球",
"11":"梯子","12":"椅儿","13":"医生","14":"钥匙","15":"鹦鹉","16":"石榴","17":"仪器","18":"糖葫芦","19":"衣钩","20":"香烟",
"21":"鳄鱼","22":"双胞胎","23":"和尚","24":"闹钟","25":"二胡","26":"河流","27":"耳机","28":"恶霸","29":"饿囚","30":"三轮车",
"31":"鲨鱼","32":"扇儿","33":"星星","34":"三丝","35":"山虎","36":"山鹿","37":"山鸡","38":"妇女","39":"山丘","40":"司令",
"41":"蜥蜴","42":"柿儿","43":"石山","44":"蛇","45":"师父","46":"饲料","47":"司机","48":"石板","49":"湿狗","50":"武林",
"51":"工人","52":"鼓儿","53":"乌纱帽","54":"青年","55":"火车","56":"蜗牛","57":"武器","58":"尾巴","59":"蜈蚣","60":"榴莲",
"61":"儿童","62":"牛儿","63":"流沙","64":"螺丝","65":"绿壶","66":"溜溜球","67":"绿漆","68":"喇叭","69":"太极","70":"麒麟",
"71":"鸡翼","72":"企鹅","73":"花旗参","74":"骑士","75":"西服","76":"汽油","77":"机器","78":"青蛙","79":"气球","80":"巴黎",
"81":"白蚁","82":"靶儿","83":"芭蕉扇","84":"巴士","85":"保姆","86":"八路","87":"白旗","88":"爸爸","89":"芭蕉","90":"酒瓶",
"91":"球衣","92":"球儿","93":"旧伞","94":"首饰","95":"酒壶","96":"蝴蝶","97":"旧旗","98":"酒杯","99":"舅舅"}
sum = 0 #定义一个变量初始值为0,收集做对题目数量
times = 20 #20次机会
while len(A) != 0 and times > 0 : #建立一个判断,当列表不为空,而且输入次数不为0,执行以下代码。
qustion = random.choice(list(A.keys())) #用字典A的key建立一个list(列表),通过random函数随机抽一个key,定义question变量
answer = input('%s--' % (qustion)) #输入key键所对应的value值,例如给的是“00”这个键,那输入“望远镜”这个值。
times = times - 1 #次数减1
if answer == A[qustion]: #判断输入的这个值是不是对应了A列表里的key键。
print("恭喜你,答对了") #如果对了,打印“恭喜你答对了”
del A[qustion] #删除这个key,value。不再出现这个题,避免重复做题。
sum = sum + 1 #答对一题记一分
continue #答对了题目,继续出题。
else: #如果输入的这个值不是key键所对应的。
print('不好意思,你答错了,正确答案是',A[qustion]) #打印“不好意思,你错了”,并输入正确答案。不删题处理。
print("恭喜你过关了,做对了",sum,"道题,共计",sum*5,"分") #20次机会用完了以后看看自己得了多少分
5,加了一个错误次数,以及错误时要多做5题。还有提前退出指令。
[Python] 纯文本查看 复制代码 import random
A={"00":"望远镜","01":"小树","02":"铃儿","03":"凳子","04":"轿车","05":"手套","06":"手枪","07":"锄头","08":"溜冰鞋","09":"猫",
"0":"呼啦圈","1":"蜡烛","2":"鹅","3":"耳朵","4":"帆船","5":"钩子","6":"勺子","7":"镰刀","8":"眼睛","9":"哨子","10":"棒球",
"11":"梯子","12":"椅儿","13":"医生","14":"钥匙","15":"鹦鹉","16":"石榴","17":"仪器","18":"糖葫芦","19":"衣钩","20":"香烟",
"21":"鳄鱼","22":"双胞胎","23":"和尚","24":"闹钟","25":"二胡","26":"河流","27":"耳机","28":"恶霸","29":"饿囚","30":"三轮车",
"31":"鲨鱼","32":"扇儿","33":"星星","34":"三丝","35":"山虎","36":"山鹿","37":"山鸡","38":"妇女","39":"山丘","40":"司令",
"41":"蜥蜴","42":"柿儿","43":"石山","44":"蛇","45":"师父","46":"饲料","47":"司机","48":"石板","49":"湿狗","50":"武林",
"51":"工人","52":"鼓儿","53":"乌纱帽","54":"青年","55":"火车","56":"蜗牛","57":"武器","58":"尾巴","59":"蜈蚣","60":"榴莲",
"61":"儿童","62":"牛儿","63":"流沙","64":"螺丝","65":"绿壶","66":"溜溜球","67":"绿漆","68":"喇叭","69":"太极","70":"麒麟",
"71":"鸡翼","72":"企鹅","73":"花旗参","74":"骑士","75":"西服","76":"汽油","77":"机器","78":"青蛙","79":"气球","80":"巴黎",
"81":"白蚁","82":"靶儿","83":"芭蕉扇","84":"巴士","85":"保姆","86":"八路","87":"白旗","88":"爸爸","89":"芭蕉","90":"酒瓶",
"91":"球衣","92":"球儿","93":"旧伞","94":"首饰","95":"酒壶","96":"蝴蝶","97":"旧旗","98":"酒杯","99":"舅舅"}
sum = 0 #定义一个变量初始值为0,收集做对题目数量
false = 0 #错误次数
times = 20 #20次机会
while times > 0 : #建立一个判断,当列表不为空,而且输入次数不为0,执行以下代码。
question = random.choice(list(A.keys())) #用字典A的key建立一个list(列表),通过random函数随机抽一个key,定义question变量
answer = input('%s--' % (question)) #输入key键所对应的value值,例如给的是“00”这个键,那输入“望远镜”这个值。
times = times - 1 #次数减1
if answer != 'x': #输入X提前退出练习
if answer == A[question]: #判断输入的这个值是不是对应了A列表里的key键。
#print("恭喜你,答对了") #如果对了,打印“恭喜你答对了”
del A[question] #删除这个key,value。不再出现这个题,避免重复做题。
sum = sum + 1 #答对一题记一分
continue #答对了题目,继续出题。
else: #如果输入的这个值不是key键所对应的。
times = times + 5 #错了再继续练习5次
false = false + 1 #错误次数累计加1
print('不好意思,你答错了,正确答案是',question,'--',A[question]) #打印“不好意思,你错了”,并输入正确答案。不删题处理。
else:
print('已退出') #输入x就直接退出了
break #退出循环
print('----------测试结束----------\n正确:', sum, '\n错误:', false) #正确错误情况
print('--------恭喜你挑战成功-------' if sum > 15 else '------挑战失败,再接再厉------')
|