Python第三章 猜数字游戏bug修正

  • 文件导入shelve时不需要后缀
#!/usr/bin/env python
# coding: utf-8
#copyRight by heibank
import random
secret = random.randint(1, 100)
guess,tries = 0,0

print u"你好, 你很幸运, 我是一个路过的神仙, 我有一个秘密!"
print u"我的秘密是一个从1到99的数字, 我只会给你6次机会来猜。"
print u"如果你猜到它, 那说明你真的很幸运, 赶紧去买彩票吧!"

while guess != secret and tries <6:
    print u"你猜这个数字是多少? (1-100)"
    guess = raw_input()

    try:
        guess = int(guess)
    except:
        print u"输入的不是整数"
        continue

    if guess == secret:
        print u"哇~~~, 真的假的!你居然发现了我的秘密! 它就是: ", str(secret)
        break
    elif guess < secret:
        print str(guess),u"太小了, 你还差点运气! "
    elif guess > secret:
        print str(guess),u"太大了, 你还差点运气! "
    tries += 1
else:
    print u"你唯一的机会已被你用完了!看来你还需要再攒点人品!"
    print u"还是让我告诉你吧!这个数字是: ", str(secret)
  • input(), raw_input() 均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError

  • raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float );同时在例子 1 知道,input() 可接受合法的 python 表达式,举例:input( 1 + 3 ) 会返回 int 型的 4 。

  • import random :调用random库
    random.randint(a,b):在a,b范围上随机取一个整数

  • continue使得再次程序进入try模块

try:
        guess = int(guess)
   except:
        print u"输入的不是整数"
        continue
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 12,229评论 1 118
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,073评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,767评论 19 139
  • @贰拾贰画生 感谢简明Python教程 输入输出 输入:raw_input string = raw_input(...
    贰拾贰画生阅读 7,445评论 4 21
  • 感受客户的一天-谈业务之余,试着去了解你的客户本人,比如 哪的人,在这个单位工作几年了,一天的生活节奏,平常要加班...
    MrTimer阅读 1,839评论 0 0