游戏需要改进的地方

  1. 当用户猜错的时候,程序应该给出提示
  2. 应该提供多次机会给用户
  3. 每次运行程序,答案应该是随机的

    条件分支-解决第一个需求

  4. 如果答案是8

  5. 如果用户输入不是8,则读取else语句
    1. 用户输入9,提示大了
    2. 用户输入5,提示小了
  6. 如果用户输入8,则读取if后续语句

    改进的代码

    image.png

    运行结果

    image.png

    循环结构-解决第二个需求

    image.png
    image.png
    image.png
    如果counts>0,则执行循环体内的内容,但是每次执行后,counts都减去1,那么循环三次后,循环条件就不成立了,则不再执行,终结循环。

    改进的代码

    给用户5次机会,并提示还有几次机会
    image.png
    image.png

    新的改进方案1

    无限次机会,当猜对时,退出游戏
    image.png
    image.png

    新改进的方案2

    猜错时,由用户自己选择结束还是继续游戏,猜对时,退出游戏。
    image.png
    image.png
    问题点:当我选把用户输入的0/1值input给A时,用A判断继续还是结束,总会判断是失败的,运行再试试代码,必须用中间值+int函数,才能将0赋值给A。
    群友提供的新解决办法:
    image.png

    Random模块-解决第三个需求

    一般可以考虑先查找Python官方自带的文档。
    image.pngimage.png
    要使用 一个Python模块,首先是需要将其导入,语法是import+模块名,比如import random 即是导入random模块。
    randint(1,10)随机获得1-10之间的整数,包含1和10。
    image.png

    改进的代码

    image.png

    拓展

    random模块生成的都是伪随机数,是可以重现的没比较容易被攻击。
    要实现对伪随机数的攻击,就要拿到它的种子。
    默认条件下, random使用当前操作系统的系统时间作为随机数种子。这里我们可以使用random.getstate()这个函数来获取随机数种子加工之后随机数生成器的内部状态。
    image.png