• 用Python写一个猜数字的小游戏


    Python使用版本:3.9.5

    运行效果:

    1. Python 3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] on win32
    2. Type "help", "copyright", "credits" or "license()" for more information.
    3. >>>
    4. ================= RESTART: D:\Workspace-Python\game\starter.py =================
    5. 请输入“start”开始游戏,退出游戏请输入“quit”:s
    6. 输入错误。
    7. 请输入“start”开始游戏,退出游戏请输入“quit”:start
    8. 已启动游戏。
    9. -------------------我i小游戏-------------------
    10. 猜数字的游戏,请输入数字1~158
    11. 小了,小了
    12. 再试试吧,请输入数字1~15:e
    13. 输入错误,请输入整数类型1~1510
    14. 小了,小了
    15. 再试试吧,请输入数字1~1512
    16. 小了,小了
    17. 再试试吧,请输入数字1~1514
    18. 大了,大了
    19. 再试试吧,请输入数字1~1515
    20. 大了,大了
    21. 再试试吧,请输入数字1~1512
    22. 小了,小了
    23. 再试试吧,请输入数字1~1513
    24. 您总共猜了 7
    25. 有点慢哦,但总算猜对了!
    26. game over!
    27. 请输入“start”开始游戏,退出游戏请输入“quit”:start
    28. -------------------我i小游戏-------------------
    29. 猜数字的游戏,请输入数字1~159
    30. 大了,大了
    31. 再试试吧,请输入数字1~155
    32. 大了,大了
    33. 再试试吧,请输入数字1~153
    34. 大了,大了
    35. 再试试吧,请输入数字1~152
    36. 您总共猜了 4
    37. 嗯...也不错,这次猜对了!
    38. game over!
    39. 请输入“start”开始游戏,退出游戏请输入“quit”:quit
    40. 游戏名称:我i小游戏
    41. 游戏次数:2
    42. 游戏开始时间:2022-10-31 17:02:48
    43. 游戏结束时间:2022-10-31 17:03:33
    44. 已退出游戏。
    45. >>>

    看代码:

    starter.py 文件的代码:

    1. from game_module import Game
    2. # 运行游戏
    3. def runGame():
    4. game = None
    5. while True:
    6. content = input("\n请输入“start”开始游戏,退出游戏请输入“quit”:")
    7. if content == "start":
    8. #首次创建游戏实例
    9. if game is None:
    10. game = Game()
    11. #启动游戏
    12. game.start();
    13. elif content == "quit":
    14. break
    15. else:
    16. print("\n输入错误。")
    17. continue
    18. if game is None:
    19. print("\n已结束游戏。\n")
    20. else:
    21. game.quit()
    22. # 调用运行游戏函数
    23. runGame()

     game_module.py 文件的代码

    1. import random
    2. import time
    3. class Game():
    4. def __init__(self):
    5. self.gameName = "我i小游戏"
    6. self.startTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    7. self.playCount = 0
    8. print("\n已启动游戏。")
    9. #开始游戏
    10. def start(self):
    11. self.playCount += 1
    12. print("\n-------------------" + self.gameName + "-------------------\n")
    13. focus = random.randint(1, 15)
    14. temp = input("猜数字的游戏,请输入数字1~15:")
    15. isNotNumber = True
    16. while isNotNumber:
    17. try:
    18. result = int(temp)
    19. isNotNumber = False
    20. except ValueError:
    21. temp = input("\n输入错误,请输入整数类型1~15:")
    22. continue
    23. count = 1;
    24. while result != focus:
    25. if result > focus:
    26. print("\n大了,大了\n")
    27. else:
    28. print("\n小了,小了\n")
    29. temp = input("再试试吧,请输入数字1~15:")
    30. isNotNumber = True
    31. while isNotNumber:
    32. try:
    33. result = int(temp)
    34. isNotNumber = False
    35. except ValueError:
    36. temp = input("\n输入错误,请输入整数类型1~15:")
    37. continue
    38. count += 1
    39. print("\n您总共猜了 " + str(count) + " 次\n")
    40. if count == 1:
    41. print("您太聪明了,一次就猜对了!")
    42. elif count < 4:
    43. print("很棒哦,这么快就猜对了!")
    44. elif count < 6:
    45. print("嗯...也不错,这次猜对了!")
    46. else:
    47. print("有点慢哦,但总算猜对了!")
    48. print("\ngame over!")
    49. #退出游戏
    50. def quit(self):
    51. self.entTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    52. print("\n游戏名称:"+ self.gameName +
    53. "\n游戏次数:" + str(self.playCount) + " 次" +
    54. "\n游戏开始时间:" + self.startTime +
    55. "\n游戏结束时间:" + self.entTime)
    56. print("\n已退出游戏。\n")

    或者都写在一个文件里也可以:

    1. import random
    2. import time
    3. class Game():
    4. def __init__(self):
    5. self.gameName = "我i小游戏"
    6. self.startTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    7. self.playCount = 0
    8. print("\n已启动游戏。")
    9. #开始游戏
    10. def start(self):
    11. self.playCount += 1
    12. print("\n-------------------" + self.gameName + "-------------------\n")
    13. focus = random.randint(1, 15)
    14. temp = input("猜数字的游戏,请输入数字1~15:")
    15. isNotNumber = True
    16. while isNotNumber:
    17. try:
    18. result = int(temp)
    19. isNotNumber = False
    20. except ValueError:
    21. temp = input("\n输入错误,请输入整数类型1~15:")
    22. continue
    23. count = 1;
    24. while result != focus:
    25. if result > focus:
    26. print("\n大了,大了\n")
    27. else:
    28. print("\n小了,小了\n")
    29. temp = input("再试试吧,请输入数字1~15:")
    30. isNotNumber = True
    31. while isNotNumber:
    32. try:
    33. result = int(temp)
    34. isNotNumber = False
    35. except ValueError:
    36. temp = input("\n输入错误,请输入整数类型1~15:")
    37. continue
    38. count += 1
    39. print("\n您总共猜了 " + str(count) + " 次\n")
    40. if count == 1:
    41. print("您太聪明了,一次就猜对了!")
    42. elif count < 4:
    43. print("很棒哦,这么快就猜对了!")
    44. elif count < 6:
    45. print("嗯...也不错,这次猜对了!")
    46. else:
    47. print("有点慢哦,但总算猜对了!")
    48. print("\ngame over!")
    49. #退出游戏
    50. def quit(self):
    51. self.entTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    52. print("\n游戏名称:"+ self.gameName +
    53. "\n游戏次数:" + str(self.playCount) + " 次" +
    54. "\n游戏开始时间:" + self.startTime +
    55. "\n游戏结束时间:" + self.entTime)
    56. print("\n已退出游戏。\n")
    57. # 启动游戏函数
    58. @staticmethod
    59. def runGame():
    60. game = None
    61. while True:
    62. content = input("\n请输入“start”开始游戏,退出游戏请输入“quit”:")
    63. if content == "start":
    64. #首次创建游戏实例
    65. if game is None:
    66. game = Game()
    67. #启动游戏
    68. game.start();
    69. elif content == "quit":
    70. break
    71. else:
    72. print("\n输入错误。")
    73. continue
    74. if game is None:
    75. print("\n已结束游戏。\n")
    76. else:
    77. game.quit()
    78. #以脚本的形式启动
    79. if __name__ == '__main__':
    80. Game.runGame()

    比较简单,纯粹是为了练习语法。

  • 相关阅读:
    DPDK18.08上对VIRTIO IN ORDER 功能所做的优化
    数仓项目拉链表
    离线数仓-用户行为采集
    【阿旭机器学习实战】【13】决策树分类模型实战:泰坦尼克号生存预测
    【数据结构和算法】--N叉树中,返回某些目标节点到根节点的所有路径
    一种无需调查船上坞的调查设备安装测量方法和安装测量系统
    Sentinel源码剖析之执行流程
    Vue + Volo.Abp 实现OAuth2.0客户端授权模式认证
    【金融投资】一文带你了解 加息、降息与利率
    自动批量网站图片收集软件
  • 原文地址:https://blog.csdn.net/Silence1515/article/details/127619258