在Python中for循环经常结合range()函数一起使用。
range()
函数是一个内置函数,用于生成一个整数序列,通常与for
循环结合使用。它的常见用法是生成一系列连续的整数,可以指定起始值、结束值和步长。
range()
函数的语法如下:
range(start, stop, step)
其中:
start
(可选):生成整数序列的起始值,不选则默认为0。stop
:生成整数序列的结束值,但不包含该值。step
(可选):生成整数序列的步长,不选则默认为1。如:
for i in range(6):
print(i)
'''
输出:
0
1
2
3
4
5
'''
# 指定起始值和结束值
for i in range(2, 6):
print(i)
'''
输出:
2
3
4
5
'''
# 指定步长
for i in range(1, 6, 2):
print(i)
'''
输出:
1
3
5
'''
从上面案例可见range的用法是非常灵活的。
在算术运输中的一些求和就可以充分展示for循环结合range函数的使用技巧如:
1、实现1-100求和:
# 法一:用for循环
total = 0
for i in range(1, 101):
total += i
print(total)
# 法二:用官方求和函数sum
total = sum(range(1, 101))
print(total)
输出:
5050
5050
上面案例的法一就利用了for循环结合range函数来实现的,当然Python求和还可以用sum函数,也是个很好用的函数。
2、实现1-100偶数求和
# 法一:活用range函数
total = 0
for i in range(2, 101, 2):
total += i
print(total)
# 法二:求余判断法,多了判断步骤,写法上明显差于法一
total = 0
for i in range(1, 101):
# if i % 2: 这种写法就相当于求1-100奇数的和了,因为if后面表达式只要为0就是false,非0则为true
# 但不建议这样写,不易读,建议这样:if i % 2 != 0:
if i % 2 == 0: # 除以2求余为0即表示为偶数
total += i
else:
pass # 假如有待定的代码可以先写过pass,相当于无执行
print(total)
输出:
2550
2550
上面的实现方法就是巧用了range中的步数,从而获取偶数集,同理也可以使用同样的方法获取奇数集从而对奇数求和。
在使用range()
函数时,生成的整数序列不包含结束值,即生成的序列是左闭右开的区间,这点需要特别注意。
总结:通过结合range()
函数和for
循环,我们可以方便地遍历一系列连续的整数,并执行相应的操作。无论是遍历固定次数的循环,还是根据需要生成整数序列,range()
函数都是一个很有用的工具。