数字序列
大家好!在这一章节中,我们将深入了解 Python 中的 for in 循环,以及如何使用它来处理数字序列。我们生活中也有很多情况需要用到数字序列,比如计时器的倒计时、表格中的序号等。今天我们就来看看,如何通过 Python 的循环语句,让这些问题变得简单起来。
简介
在使用 for-in 循环时,默认是无法实现类似传统 for循环 方式的使用形式,但是可以配合 range() 函数实现传统的计次循环。
当然,也可以通过 while 循环来实现计次循环。
在实现某个功能时,循环可以相互替代实现,并不一定要拘泥于某种形式。
在 Python 中,for in 循环的使用形式和传统编程语言中的 for 循环略有不同。它并不像 C 或 Java 中的 for 循环那样直接使用计数器来控制循环次数。不过,幸运的是,我们可以结合 Python 的 range 函数来实现类似传统 for 循环的效果。另外,如果你更习惯使用计数器来控制循环次数,也可以选择使用 while 循环。所以,循环的方式不一定非要固定一种形式,你可以根据需求灵活选择。下面我们来学习一下 range 函数的具体用法。
range 函数
range() 函数是一个用于生成整数序列的内置函数,通过指定起始值、停止值和步长,它能够生成一个按照指定规则递增或递减的整数序列。
range() 通常用于配合 for-in 循环结构中控制迭代次数或遍历特定范围的情况使用。
range 是一个非常实用的内置函数,它能够生成一个按特定规则递增或递减的整数序列。通过指定 起始值、停止值 和 步长,你可以精确控制数字序列的生成。通常,我们会在 for in 循环中使用 range,它可以帮助我们控制循环的次数,或者遍历一个特定范围内的数字。
range 函数的基本语法
格式: range(start, stop, step)
start: 可选参数,表示起始值,默认为0。stop: 表示结束值,不包含在范围内。step: 可选参数, 表示步长,默认为1。
下面来看看 range 函数的语法。它可以接受 3 个参数。其中 start 是起始值,默认是 0。stop 是结束值,但不包含在内。step 是步长,默认为 1。举个例子,如果你想从 1 到 10 每次加 2,那么使用 range 就可以帮你生成这样的序列。
示例:
# 确定开始和结束范围
nums = list(range(1, 10))
print(nums)
# 使用默认开始值
nums = list(range(10))
print(nums)
# 确定范围和步长
nums = list(range(1, 10, 2))
print(nums)
# 使用负步长
nums = list(range(10, 1, -3))
print(nums)
下面让我们通过几个例子来看看 range 是如何工作的。第一个例子是在 range 中传入两个参数可以确定序列的开始和结束范围。比如 range 中传入 1 和10,这代表要生成从 1 到 10,步长默认为 1 的序列。由于结束值不包含,所以最终生成的序列中包含的是从 1 到 9 的整数。第二个例子中,range 函数只传入了一个参数,这代表我们要使用默认的起始值,也就是会从 0 开始。所以 range 中传入 10,最终会生成从 0 到 9 的整数序列。如果我们在 range 函数中传入 3 个参数,这代表我们既要设置序列的范围,也要设置生成序列的步长。比如 range 中传入 1,10,2。这代表生成从 1 开始,步长为 2 的序列,即 1, 3, 5, 7, 9。刚才的步长我们使用的是正整数。其实步长也可以设置为负数。步长设置为负数时,表示生成一个递减的数字序列。这意味着从起始值 start 开始,每次减少指定的步长 step 直到达到或超过结束值 stop。这里需要注意,如果使用了负步长,起始值必须大于结束值,否则生成的序列为空。比如这里 range 中传入了 10,1,-3,最终会生成从 10 开始,步长为 -3 的递减序列,直到达到结束值 1,但是结束值是不包含的,即 10, 7, 4。
for-in 结合 range 函数实现计次循环
示例:计算 1~100 的整数和
result = 0
for i in range(1, 101):
result += i
print(result)
我们可以把 range 和 for in 循环结合起来,来实现常见的计数循环。比如,计算从 1 到 100 的所有整数之和。在这个例子中,range 中传入 1, 101 会生成从 1 到 100 的所有整数,然后我们通过 for 循环遍历它们,就可以计算它们的相加的和了。
随机数生成
在程序开发过程中,经常会使用到随机数,Python 中 ,可以使用 random 模块中的 randint() 函数获取随机数。
-
格式:
randint(start, stop)start为随机数获取初始范围stop为随机数获取结束范围,包含该值。- 使用该函数前需要导入,
from random import randint
在程序开发中,经常会使用到随机数。比如做一个随机选择,或者生成一个随机验证码。Python 中提供了一个非常方便的工具 random 模块,里面的 randint 函数能够帮助我们生成指定范围内的随机整数。randint 接受两个参数,其中 start 是随机数的起始范围。stop 是随机数的结束范围且包含该值。这里有一点要注意,在使用这个函数之前,需要先导入 random 模块。
示例: 生成 1 ~ 3 之间的一个随机整数
from random import randint
print(randint(1, 3))
下面我们来看一个例子。我们可以使用 randint 来生成 1 到 3 之间的一个随机整数。每次执行代码时,都会随机生成一个 1 到 3 之间的整数。
示例: 骰子游戏: 从键盘输入一个数字,和程序随机生成的 1~6 范围的数字比较大小
from random import randint
play = int(input("请输入一个1-6之间的数字:"))
bot = randint(1, 6)
if play == bot:
print("点数相同,平局")
elif play > bot:
print(f"玩家{play}点,电脑{bot}点,玩家胜")
else:
print(f"玩家{play}点,电脑{bot}点,电脑胜")
接下来让我们做一个简单的骰子游戏:用户输入一个 1 到 6 之间的数字,然后程序随机生成一个 1 到 6 之间的数字,看看谁更大。在这个例子中,玩家输入一个数字,程序用 randint 中传入 1, 6 随机生成一个骰子的点数,然后比较大小。最后输出游戏的结果。这样我们就可以让游戏具有不确定性。
总结
- range 函数
- range 函数的基本语法
- 随机数生成
最后我们来总结一下,这个章节今天我们学习了:如何使用 range 函数生成数字序列,以及它的基本语法。还有如何使用 for in 循环结合 range 来实现计次循环。还介绍了如何使用 random 模块生成随机数。希望这些内容能帮助大家更好地理解和使用 Python 中的数字序列和随机数功能!