python实现猜数字游戏(无重复数字)示例分享


Posted in Python onMarch 29, 2014
import time, random
class GuessNum:
    def __init__(self):
        self._num = ''
        self.input_num = []
        self.count = 1                                      #猜对所用次数
        self.sec = 0                                           #猜对所用时间
        self._generate_num()
    def _generate_num(self):                        #产生不重复的四个数字
        seq_zton = list(range(10))
        for i in range(0, 4):
            a = str(random.choice(seq_zton))   #选出一个数字
            self._num += a
            seq_zton.remove(int(a))                 #注意a的类型
        self.sec = time.clock()                          #开始计时
    def check_answer(self):
        return self._num
    def check_input(self):
        num_pos, num_value = 0, 0               #位置对和数值对的分别的个数
        tmp = input("Please input the number you guess(No repetition),or 'c' to check the answer:")
        if tmp == 'c':
            print(self.check_answer())
            tof = self.check_input()
            return tof
        elif not tmp.isalnum or not len(tmp) == 4:
            print("Wrong format!")
            tof = self.check_input()                #需要优化
            return tof
        self.input_num = list(tmp)
        lst_temp = list(self._num)
        if self.input_num == lst_temp:          #猜对
            self.prt_vic()
            return True
        for i in lst_temp:
            if i in self.input_num:
                if lst_temp.index(i) == self.input_num.index(i):        #位置也相同
                    num_pos += 1
                    num_value += 1
                else:
                    num_value += 1
        self.prt_state(num_pos, num_value)
        self.count += 1
        return False
    def prt_state(self, num_pos, num_value):
        print("You've got %d numbers with the right position and %d numbers with the right value only" % (num_pos, num_value))
    def prt_vic(self):
        t = time.clock()
        self.sec = t - self.sec
        print("Congratulations!You have successfully got the right number!")
        print("%d times and %.2f sec in total to get the right answer" % (self.count, self.sec))
gn = GuessNum()
while True:
    ss = gn.check_input()
    if ss:
        b = input("Continue? y/n:")
        if b == 'n':
            break
        else:
            gn = GuessNum()
            continue
Python 相关文章推荐
Python类的继承用法示例
Jan 31 Python
python实现对图片进行旋转,放缩,裁剪的功能
Aug 07 Python
在pytorch中查看可训练参数的例子
Aug 18 Python
在Python中使用turtle绘制多个同心圆示例
Nov 23 Python
python中with语句结合上下文管理器操作详解
Dec 19 Python
在python shell中运行python文件的实现
Dec 21 Python
在Matplotlib图中插入LaTex公式实例
Apr 17 Python
django中嵌套的try-except实例
May 21 Python
keras绘制acc和loss曲线图实例
Jun 15 Python
Python爬虫小例子——爬取51job发布的工作职位
Jul 10 Python
PyCharm配置anaconda环境的步骤详解
Jul 31 Python
python自动生成证件号的方法示例
Jan 14 Python
使用python实现扫描端口示例
Mar 29 #Python
Python Trie树实现字典排序
Mar 28 #Python
python实现探测socket和web服务示例
Mar 28 #Python
python实现目录树生成示例
Mar 28 #Python
python改变日志(logging)存放位置的示例
Mar 27 #Python
使用python删除nginx缓存文件示例(python文件操作)
Mar 26 #Python
python实现ip查询示例
Mar 26 #Python
You might like
php模拟js函数unescape的函数代码
2012/10/20 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
2014/11/19 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
PHP递归创建多级目录
2015/11/05 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
jquery自动完成插件(autocomplete)应用之PHP版
2009/12/15 Javascript
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
Angular.JS中select下拉框设置value的方法
2017/06/20 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
layui中使用jquery控制radio选中事件的示例代码
2018/08/15 jQuery
angularjs的单选框+ng-repeat的实现方法
2018/09/12 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
在Vue中使用antv的示例代码
2020/06/29 Javascript
详细解析Python中的变量的数据类型
2015/05/13 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
2017/06/07 Python
PyCharm代码格式调整方法
2018/05/23 Python
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
Python 内存管理机制全面分析
2021/01/16 Python
通用C#笔试题附答案
2016/11/26 面试题
如何唤起类中的一个方法
2013/11/29 面试题
医学院校毕业生自荐信范文
2014/01/01 职场文书
自我评价是什么
2014/01/04 职场文书
高中历史教学反思
2014/02/08 职场文书
社会实践活动总结范文
2014/07/03 职场文书
食品委托检验协议书范本
2014/09/12 职场文书
谢师宴家长答谢词
2015/09/30 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python