代码很短,不过也展示了在 Python 中使用中文,Python 的特殊字符串处理方式,Python 的面向对象编程等方面,对于初学者还是有一定的借鉴意义的。

# -*- coding: iso-8859-1 -*-

import random

class CGuessNum:

#-------------------  变量  -----------------------

o = "0123"

gtx = 0

iw = False

Guess = ""

Check = ""

#-------------------  函数  -----------------------

def isWin(self):

return self.iw

def GetGuessTimes(self):

return self.gtx

def GetHideNum(self):

return self.o

#-------------------------------------------------

def GetRndNum(self): # return void

random.randrange(10)

qq = ['0','1','2','3','4','5','6','7','8','9'] #char

for i in range(10):

rdata = int(random.random() * i)

temp = qq[rdata]

qq[rdata] = qq[i]

qq[i] = temp

self.o = "" + qq[0] + qq[1] + qq[2] + qq[3]

#-------------------------------------------------

def InputOK(self,s): # return Boolare

if len(s) == 4:

for i in range(4):

try:

n = int(s[i:i+1])

return True

except:

return False

return False

#-------------------------------------------------

def GuessIt(self,s): # return String

self.Guess = s

x = y = 0

for i in range(4):

if s[i:i+1] == self.o[i:i+1]:

x = x + 1

for i in range(4):

for j in range(4):

if s[i:i+1] == self.o[j:j+1]:

y = y + 1

y = y - x

r = str(x) + "A" + str(y) + "B"

if x >= 4:

self.iw = True

self.gtx = self.gtx + 1

self.Check = r

return r

#-------------------------------------------------

def GetGuessString(self): # return String

return str(self.gtx) + ") " + self.Guess + ":" + self.Check

#-------------------------------------------------

def __init__(self):

self.GetRndNum()

#-------------------------------------------------

def main():

g = CGuessNum()

print """~~~~~~~~~~~~~~~~

~~~~~ 点睛工作室 ~~~~~

点睛猜数字 Python 版

点睛工作室 http://llf.hanzify.org

梁利锋 llf@hanzify.org

版权所有  所有权力保留

~~~~~~~~~~~~~~~~

玩法:

输入一个 4 位数并按回车键,

程序会分析您的输入并输出一个形如

“1A1B”的结果。 其中“A”前的数

字是位置和数字都正确的数字的个

数,而“B”前的数字是数字正确而

位置错误的数字的个数。您一共可以

猜 8 次。

~~~~~~~~~~~~~~~~

请输入您猜测的数字:"""

while g.GetGuessTimes() < 8:

s = raw_input()

if g.InputOK(s):

g.GuessIt(s)

print g.GetGuessString()

if g.isWin():

print "你猜对了!"

break

else:

print "Input Error!"

if not g.isWin():

print "你失败了!"

print "按回车键结束。"

s = raw_input()

if __name__ == "__main__":

main()

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

python数字取前几位_python怎样保留前几位数字相关推荐

  1. python爬取虎扑评论_python爬取网站数据

    编码问题 因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了. 问题要从文字的编码讲起.原本的英文编码只有0~255,刚好是8位1个字节.为了表示各种不同的语言,自然要进行 ...

  2. python爬取b站评论_python高效之爬了B站再爬微博

    全文简介 本文是用Python爬取微博移动端的数据.可以看一下Robots协议.另外尽量不要爬取太快.如果你毫无节制的去爬取别人数据,别人网站当然会反爬越来越严厉.所以,不要难为别人,到最后其实是在难 ...

  3. python爬取虎扑评论_Python爬取NBA虎扑球员数据

    虎扑是一个认真而有趣的社区,每天有众多JRs在虎扑分享自己对篮球.足球.游戏电竞.运动装备.影视.汽车.数码.情感等一切人和事的见解,热闹.真实.有温度. 受害者地址 https://nba.hupu ...

  4. python爬取豆瓣电影评论_python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法...

    def getHtml(url): """获取url页面""" headers = {'User-Agent':'Mozilla/5.0 ( ...

  5. python爬取网页json数据_python爬取json数据库

    手把手教你使用Python抓取QQ音乐数据(第一弹) [一.项目目标] 获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 由浅入深,层层递进,非常适合刚入门的同学练手. [二. ...

  6. python获取二进制bit位_Python读字节某一位的值,设置某一位的值,二进制位操作...

    Python读字节某一位的值,设置某一位的值,二进制位操作 在物联网实际应用项目开发中,为了提升性能,与设备端配合,往往最终使用的是二进制字节串方式进行的通信协议封装,更会把0和1.True和Fals ...

  7. python爬取大众点评字体_python爬取大众点评解决字体反爬

    今天我们弄一下大众点评 学习阶段,我们要抱着学习的目的 重点是思路,做爬虫就不要想着一劳永逸了 方法公开,人家就换了 知识是你自己的,学到了,他换不掉 好了,我们开始吧 网站展示 https://ww ...

  8. python爬取天气数据山东_Python爬取天气预报数据,并存入到本地EXCEL中-Go语言中文社区...

    近期忙里偷闲,搞了几天python爬虫,基本可以实现常规网络数据的爬取,比如糗事百科.豆瓣影评.NBA数据.股票数据.天气预报等的爬取,整体过程其实比较简单,有一些HTML+CSS+DOM树等知识就很 ...

  9. python爬取虎扑评论_python爬虫系列Selenium定向爬取虎扑篮球图片详解

    前言: 作为一名从小就看篮球的球迷,会经常逛虎扑篮球及湿乎乎等论坛,在论坛里面会存在很多精美图片,包括NBA球队.CBA明星.花边新闻.球鞋美女等等,如果一张张右键另存为的话真是手都点疼了.作为程序员 ...

最新文章

  1. 互联网业务安全之通用安全风险模型
  2. 年薪25万只是白菜价,这几个专业的毕业生正被疯抢
  3. 黄聪:NaviCat通过Http方式连接服务器的MySQL数据库(转)
  4. [zz]GNU C __attribute__ 机制简介
  5. android签名的应用-- 禁止未经授权签名的apk安装
  6. MaxCompute 挑战使用SQL进行序列数据处理
  7. xutils找id报空指针异常
  8. Unsupported major.minor version 51.0
  9. 相近字符串的匹配--编辑距离问题
  10. vc 串口 实时保存_Arduino提高篇22—实时时钟DS1302
  11. 【大数据搜索引擎】网络爬虫南华实验报告(2021年版)
  12. 闽教英语app 破解版 免费版
  13. flashFxp连接不上服务器。
  14. vision-transformer(b站霹雳吧啦博主)
  15. 安全模式解除android,手机安全模式怎么解除
  16. Android 桌面小组件 AppWidgetProvider
  17. 视频批量剪辑:如何给视频添加特效,比如:色彩变幻效果特效,怎么制作?
  18. 4_kicad 5.0_spice仿真器(AC,直流切换,失真,噪声,操作点,临界点,灵敏度,传递函数,瞬态,自定义)...
  19. kali CeWL密码攻击工具 Linux字典生成工具 自定义单词列表生成器
  20. 使用豆瓣镜像下载软件

热门文章

  1. 【Java问题】全网无法解决你的的IDEA中文乱码问题,不妨来看这篇文章
  2. [ARC092D] Two Faced Edges
  3. 如何配置Fabric出块参数来达到“最大”TPS
  4. 氮化镓充电器哪家做得好_氮化镓充电器哪家强?手机充电新革命来临
  5. Windows 生日快乐!27年27件大事记
  6. JVM笔记(四)对象是否存活判断算法
  7. python怎么合并图表_Python绘制精美图表之双柱形图
  8. 极客学院安卓视频零散笔记总结
  9. 说说捞月狗与其他电商网站的感觉
  10. 微信小程序报错:[渲染层错误] TypeError: Cannot read property ‘$$‘ of undefined