• Python猜拳小游戏 彩色控制台版


    目录

    一、思路

    二、用到的知识点

    三、效果

    四、代码


    一、思路

    1、控制台输入数字代表石头剪刀布,用随机数随机石头剪刀布

    2、对比控制台输入和随机到的结果

    3、设置输出颜色

    4、记录胜利、平局、失败次数

    5、输入不在设定范围内提示输入有误

    6、退出游戏告知胜率

    二、用到的知识点

    1、类的定义,用来设定输出颜色

    2、判断if elif else 的使用

    3、在死循环中退出循环 break

    4、随机函数 random

    5、字符串相等 ==

    6、and or

    三、效果

     

    四、代码

    1. """
    2. * @Author: xiaofang
    3. * @software: PyCharm
    4. * @Description: 猜拳小游戏
    5. """
    6. import random
    7. class BColors:
    8. HEADER = '\033[95m'
    9. OKBLUE = '\033[94m'
    10. OKGREEN = '\033[92m'
    11. WARNING = '\033[93m'
    12. FAIL = '\033[91m'
    13. ENDC = '\033[0m'
    14. BOLD = '\033[1m'
    15. UNDERLINE = '\033[4m'
    16. lose = 0
    17. win = 0
    18. ping = 0
    19. while True:
    20. print(BColors.HEADER + '**************************欢迎来猜拳*******************' + BColors.ENDC)
    21. print('1 剪刀 2 石头 3 布 4 退出游戏')
    22. print(BColors.UNDERLINE + '赢:%s 平:%s 输:%s' % (win, ping, lose) + BColors.ENDC)
    23. robot = random.choice(['剪刀', '布', '石头'])
    24. h = input(BColors.BOLD + '请出: ' + BColors.ENDC)
    25. if (h == '1' and robot == '布') or (h == '2' and robot == '剪刀') or (h == '3' and robot == '石头'):
    26. win += 1
    27. print(BColors.OKGREEN + '很高兴,你赢了' + BColors.ENDC)
    28. elif (h == '1' and robot == '剪刀') or (h == '2' and robot == '石头') or (h == '3' and robot == '布'):
    29. ping += 1
    30. print(BColors.OKBLUE + '很高兴,平局' + BColors.ENDC)
    31. elif (h == '1' and robot == '石头') or (h == '2' and robot == '布') or (h == '3' and robot == '剪刀'):
    32. lose += 1
    33. print(BColors.FAIL + '很高兴,它赢了' + BColors.ENDC)
    34. elif h == '4':
    35. print('已退出游戏,游戏结果如下:')
    36. print(BColors.UNDERLINE + '赢:%s 平:%s 输:%s' % (win, ping, lose) + BColors.ENDC)
    37. print('获胜率:', str(win * 100 / (win + ping + lose)) + '%')
    38. break
    39. else:
    40. print(BColors.WARNING + '输入错误' + BColors.ENDC)

  • 相关阅读:
    idea提升编码效率的12种插件
    23种设计模式2
    Java字符串内幕:String、StringBuffer和StringBuilder的奥秘
    架构设计 - MySQL 插入数据性能优化策略
    Win 下 ncnn 编译运行
    单目结构光三维重建平面不平整
    08-React路由6.3.0(高亮, 嵌套, 参数传递... )
    生成对抗网络GANs15个常用训练技巧
    linux权限管理之SetUID&SetGID
    Mycat2 分布式数据库中间件
  • 原文地址:https://blog.csdn.net/c_lanxiaofang/article/details/126275914