1.for循环结构
语法:
if <var> in <seq>:
<statements>
其中, var 是一个变量, seq 是一个序列。 for 循环的执行次数是由序列中的元素个数决定的。可以理解为 for 循环从序列中逐一提取元素,放在循环变量中,对于序列中的每个元素执行一次语句块。序列可以是字符串、列表、文件或 range()函数等。
- 有限次遍历
for i in range (n): # n 为遍历次数
< statements >
- 遍历文件
for i in range (n): # n 为遍历次数
< statements >
- 遍历字符串
for ch in mystring : # mystring 为字符串的引用
< statements >
- 遍历列表
for item in mylist : #mylist 为列表的引用
< statements >
2.range() 函数
range()函数是 Python 的内置函数,用于创建一个整数列表,一般用于 for 循环中。
语法:
range ( start , stop [, step ])
函数的参数说明如下:
- start :计数从 start 开始(默认是从0开始)。例如, range (5)等价于 range (0,5)。
- stop :计数到 stop 结束,但不包括 stop 。例如, range (0,5)是[0,1,2,3,4]不包括5。
- step :步长(默认为1)。例如, range (0,5)等价于 range (0,5,1)。
例 4-4 range ()函数的应用。
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>
>>> list(range(10)) #从0开始到10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1,11)) #从1开始到11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list(range(0,30,5)) #步长为 5
[0, 5, 10, 15, 20, 25]
>>> list(range(0,30,3)) #步长为 3
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
>>> list(range(0,-10,-1)) #负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
3.for 循环示例
例 4-5 for 循环示例。计算1~100中能被3整除的数之和。
#ex0405.py
s=0
for i in range(100):
if i%3 ==0:
s+=i
print(i)
print(s)
例 4-6 for 循环示例。计算1!+2! + …+5!。
#ex0406.py
'''计算1!+2!+…+5!'''
def factorial(n): #计算阶乘的函数
t = 1
for i in range(1,1+n):
t = t*i
return t
#计算阶乘和
k = 6
sum1 = 0
for i in range(1,k):
sum1 += factorial(i)
print("1!+2!+…+5!=",sum1)