发布于2020-03-17 12:06 阅读(1781) 评论(0) 点赞(14) 收藏(4)
- import random as rd
-
- import time
-
- print("根据提示在有限次数内猜测出一串0-9组成有特定位置的数字")
-
- print("提示方式:")
-
- print("A 数字存在并且位置正确的个数")
-
- print("B 数字存在的个数")
-
- scale = 50
-
- print("游戏加载".center(scale,"-"))#居中放置游戏加载
-
-
- start = time.perf_counter()#返回性能计数器的值
-
- for i in range(scale+1):#给i赋值0—start
-
- a = '*' * i
-
- b = '.' * (scale-i)
-
- c = (i/scale)*100#进度
-
- dur = time.perf_counter() - start#测试代码时间,调用两次,做差值
-
- print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')#百分号中间对齐间隔为3,format规定输出顺序
-
- time.sleep(0.1)# 推迟执行0.1秒
-
- print("\n"+"开始游戏".center(scale,'-'))
-
- #进度条
-
-
-
- print("这时由0-9组成的有特定位置4位数字,你有10次机会去猜对它")
-
- isContinue="是"#游戏是否继续,默认是继续
-
- while isContinue=="是":
-
- n=set()#一个集合
-
- while len(n)<4:#循环生成不重复的4个数字,直到集合元素数为4个
-
- n.add(rd.randint(0,9))#生成0-9的随机数,并将随机数放到集合中
-
- l=list(n)#集合转换为列表
-
- s=str(l[0])+str(l[1])+str(l[2])+str(l[3])#列表的元素组成字符串
- print(s)
- for i in range(1,11):
- m=input("第"+str(i)+"次尝试:\n")#输入一个四个字符的数字字符串
- print(m)
-
- if len(set(m))!=4:#如果输入数目不是4,或者存在数字重复现象,则视为非法输入
-
- print("输入非法,请重新输入!")
-
- continue
-
- info={"A":0,"B":0}#初始化一个词典,用来统计A、B
-
- if m == s:#如果输入的字符串与随机生成的字符串相等
-
- print("恭喜你!猜对啦!")
-
- isContinue=input("是否再玩一次呢?(是/否)")
-
- break
-
- else:
-
- for i in range(0,4):#字符串逐个字符对比
-
- if m[i]==s[i]:#如果数值存在,且位置相等则A+1
-
- info["A"]=info["A"]+1
-
- elif m[i] in s:#如果对应位置的数值不等,但这个数字存在,则B+1
-
- info["B"]=info["B"]+1
- print(info)
-
- isContinue=input("机会已经用完!是否再玩一次呢?(是/否)")
作者:恋爱后女盆友的变化
链接:https://www.pythonheidong.com/blog/article/262850/5d6e30b00119a521003e/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!