编写一个简单的游戏来学习 Python

发表于:2021-1-07 09:27

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:Linux中国

#
Python
分享:
  通过编写一个“猜数字”游戏来探索 Python(和其他编程语言)。
  在这个系列中,我们要用不同的编程语言编写相同的应用,以比较各种语言是如何工作的,并说明使用标准测试程序是学习新编程好方法。
  当你学习一门新的编程语言时,关注它们的共同点是件好事。变量、表达式和语句是大多数编程语言的基础。一旦你理解了这些概念,你就可以开始弄清楚其余的东西。
  因为编程语言有许多相似之处,一旦你知道一种语言,你通常可以通过观察它与你所知道的语言的不同之处来学习另一种语言的基础知识。使用你用其他语言编写的标准测试程序,可以让你专注于语言,而不是程序的逻辑。
  为了证明这点,我们正在测试如何用多种语言编写一个“猜数字”程序。计算机选择一个 1 到 100 之间的数字,然后让你猜。程序循环,直到你猜出正确答案。
  “猜数字”程序练习了编程语言的几个概念:
  ·变量
  ·输入
  ·输出
  ·条件判断
  ·循环
  这是一个很好的学习新编程语言的实践实验。
  用 Python 猜数字
  用 Python 软件基金会的话来说。“Python 是一种解释性的、交互式的、面向对象的程序设计语言,它包含了模块、异常、动态类型、非常高层的动态数据类型和类。”它是一种很好的通用编程语言,从简单的脚本到复杂的 GUI 应用都很适用。
  你可以通过编写一个版本的“猜数字”游戏来探索 Python。这是我的实现:
  import random as randomlib
  random = randomlib.randint(1, 100)
  print("Guess a number between 1 and 100")
  while True:
      guess = int(input())
      if guess < random:
          print("Too low")
      elif guess > random:
          print("Too high")
      else:
          print("That's right!")
          break
  要给一个变量赋值,请列出变量的名称,然后是 = 号。例如,语句 random = 0 给 random 变量分配了一个零值。
  脚本的第一行就导入了 random 模块。由于本系列中的所有程序都使用 random 作为变量的名称,你可以使用 import random as randomlib 以别名导入它,以避免命名冲突。
  很少有函数被内置到 Python 中,大多数函数必须从标准库中显式导入。random 标准库模块有生成各种随机值的功能。
  脚本的第二行读取函数 randint() 的结果,并将其赋值给名为 random 的变量。函数需要两个参数:一个最小值和一个最大值。在本例中,范围是 1 到 100,以使游戏具有足够的挑战性。
  你可以使用 input() 函数提示用户输入一个值。如果你写 guess = int(input()),Python 会等待用户输入一些文本,将其转换为一个整数,然后将值存储在 guess 变量中。
  Python 支持条件表达式和循环等流程控制。在“猜数字”游戏中,只要 guess 中的值不等于 random,Python 就会继续循环。
  如果猜测值小于随机数,Python 会打印 Too low,如果猜测值大于这个数字,Python 会打印 Too high。
  示例输出
  现在你已经写好了 Python 程序,运行它来玩“猜数字”游戏。每次运行程序,Python 都会随机选取一个不同的数字。为了完成这个游戏,你需要猜测,直到找到正确的数字:
  $ python guess.py
  Guess a number between 1 and 100
   50
  Too high
   25
  Too high
   12
  Too high
   7
  Too high
   3
  Too low
   5
  Too low
   6
  That's right!
  在学习一门新的编程语言时,这个“猜数字”游戏是一个很好的入门程序,因为它以一种相当直接的方式练习了几个常见的编程概念。通过在不同的编程语言中实现这个简单的游戏,你可以展示不同编程语言的一些核心概念,并比较每种语言的细节。
  你有喜欢的编程语言吗?你会如何编写“猜数字”游戏?请关注本系列文章,看看你可能感兴趣的其他编程语言的例子吧!

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号