回顾一下c/c++中for循环的用法,举个例子,遍历1~10:

for(int i = 1 ; i <= 10 ; i++){
    printf("%d", i);
}

标准语法:

for循环条件的数据类型只能是int类型,而python可以是整型、字符串,数据结构有列表,元组,字典甚至是文件(文件之后再讲)等,但要注意的是,既然是循环,那他必须要有一个范围,下面展示一个错误案例:

for i in 10:
    print(i)

初学者可能误认为这就是从0~10的循环,这位是错误的,而且编译器会显示应为collections.Iterable 类型,这个翻译过来就是集合,迭代器,进一步指明了in后面应是一个范围。

先说字符串类型

for i in 'hello':
    print(i,end='')

输出结果为:hello

即使用一个指针i遍历字符串中,每一个字符,按顺序输出。

之后最多的是使用range函数输出,range函数的作用是得到一串有序数列,主要类型有三种:

range(11)
#得到一串从0~10的序列
range(1,11)
#得到一串从1~10的序列
range(1,11,2)
#得到一串从1~10步长为2的序列,即1,3,5,7,9

例1,求1~100的和:

sum = 0
for i in range(1,101):
    sum += i
print(sum)

结果:5050

例2,输入一个整数,求它的阶乘:

x = int(input())
sum = 1
for i in range(1,x+1):
    sum *= i
print(sum)

列表的循环遍历:

这里我们可以发现i是个很神奇的东西,在列表元组的循环中可以看成每一个成员的地址进行遍历

lis = ['hello', 'world', 'python']
for i in lis:
    print(i,end=' ')

输出结果:hello world python

for循环的扩展

在for循环结束后可用else进行扩展,这种用法是当for循环正常结束时才可进行else中的语句。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐