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中操作MySQL入门实例
Feb 08 Python
Python函数式编程指南(四):生成器详解
Jun 24 Python
python中plot实现即时数据动态显示方法
Jun 22 Python
利用nohup来开启python文件的方法
Jan 14 Python
pyqt5实现登录界面的模板
May 30 Python
Python QQBot库的QQ聊天机器人
Jun 19 Python
在python 中split()使用多符号分割的例子
Jul 15 Python
python傅里叶变换FFT绘制频谱图
Jul 19 Python
python模拟键盘输入 切换键盘布局过程解析
Aug 15 Python
用python解压分析jar包实例
Jan 16 Python
Python3 Click模块的使用方法详解
Feb 12 Python
Python字符串格式化方式
Apr 07 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
第4章 数据处理-php字符串的处理-郑阿奇(续)
2011/07/04 PHP
PHP 获取 ping 时间的实现方法
2017/09/29 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
php中的依赖注入实例详解
2019/08/14 PHP
php面向对象重点知识分享
2019/09/27 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
javascript 文档的编码问题解决
2009/03/01 Javascript
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
JS实现静止元素自动移动示例
2014/04/14 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
vue2项目使用sass的示例代码
2017/06/28 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
vscode 使用Prettier插件格式化配置使用代码详解
2020/08/10 Javascript
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
Python映射拆分操作符用法实例
2015/05/19 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
python生成二维码的实例详解
2017/10/29 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
2012/12/31 HTML / CSS
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
颇特女士香港官网:NET-A-PORTER香港
2021/03/08 全球购物
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
电厂厂长岗位职责
2014/01/02 职场文书
3分钟演讲稿
2014/04/30 职场文书
班主任工作总结范文
2015/08/13 职场文书