while、for在python中的用法_python的while及for循环初步使用

循环这个词体现在程序层面就是当满足某条件时一段代码反复执行,直到条件不满足退出。

循环这种效果在计算机底层的实现原理我们不用深究,懂汇编的人可以明白(依赖jump指令)。我们先看下直观的效果。

# -*- coding: utf-8 -*-

i = 1

while i < 5 :

print('发财啦',i)

i += 1 # 自增 i = i+1

print('/')

j = 1

for i in range(5): #range函数下文讲解

print('发财啦', j)

j += 1 # 自增 j = j+1

D:python3installpython.exe D:/python/py3script/python66.py

发财啦 1

发财啦 2

发财啦 3

发财啦 4

/

发财啦 1

发财啦 2

发财啦 3

发财啦 4

发财啦 5

Process finished with exit code 0

一、while循环

while循环语句结构

while条件表达式:

循环体语句块

1)while循环中,当条件表达式为真时,就会重复的执行循环体内的语句块,直到条件为假。从这个意义上看,while循环也可被当成分支语句使用,即如果条件表达式一开始就为假,则循环体部分将永远不会获得执行的机会。

2)使用while循环时,一定要保证循环条件有变成假的时候:否则这个循环将成为一个死循环,永远无法结束循环。例如:

# -*- coding: utf-8 -*-

# 下面是一个死循环

i = 0

while i < 10 :

print("执行循环:", i)

i -=1

print("无法跳出的循环体")

二、for循环

python中for循环语句的主要作用就是访问可迭代对象(序列,迭代器,生成器,字典,集合等)中的所有元素,并在所有元素都处理之后自动的结束循环。

for循环语句结构

for 变量名 in 可迭代对象(字符串|范围|集合等):

语句块

1)for-in循环中的变量的值受for-in循环控制,该变量将会在每次循环开始时自动被赋值,该变量也被称为循环计数器,如果对该变量赋值则会改变改变量。

2)for-in循环可用于遍历任何可选代对象。所谓可迭代对象,就是指该对象中包含一个__iter__方法,且该方法的返回值对象具有next()方法。

# -*- coding: utf-8 -*-

for i in range(5):

i = 6

print(i)

print('//')

for i in range(5):

print(i)

D:python3installpython.exe D:/python/py3script/python66.py

6

6

6

6

6

//

0

1

2

3

4

Process finished with exit code 0

三:range函数

python3里range函数是用来生成一个由数字组成的列表的迭代器,它有三个参数,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)。

四:迭代器(暂时先了解,迭代器、可迭代对象、生成器等概念先知道下即可)

1)迭代器其实就是一个实现了迭代器协议的容器对象,是一个可以记住遍历的位置的对象。

2)迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。如果需要重复的迭代同一个对象,只能再重新创建一个新的迭代器。

3)迭代器可以通过使用一个iter内建函数和一个序列来创建。

4)迭代器有两个基本的方法:__next__返回容器的下一个元素,__iter__返回迭代器本身。

# -*- coding: utf-8 -*-

lis = [1,2,3]

res = iter(lis)

print(res)

print(res.__iter__())

print(res.__next__())

print(res.__next__())

print(res.__next__())

D:python3installpython.exe D:/python/py3script/python66.py

1

2

3

Process finished with exit code 0

五、for、while循环应用

# -*- coding: utf-8 -*-

print("求1到100的和:")

i = 1

sum = 0

while i<=100:

if i%2 == 0:

sum = sum + i

i+=1

print("1~100的累积和为%d"%sum)

print("遍历字符串和下标:")

str1 = "hello"

for i in range(len(str1)):

print("str1[%d] = %s" % (i, str1[i]))

print("遍历字典、集合:")

# 遍历字典、集合

d = {'a': 1, 'b': 2,}

for key in d:

print(key, d[key])

for key, val in d.items(): # items()函数先了解下

print(key, val)

# 遍历集合

for s in set('abc'):

print(s)

print("enumerate函数打印序列的下标和值:")

# enumerate函数打印序列的下标和值

str2 = "hello"

for i, v in enumerate(str2):

print(i, v)

lis = ['a','b','c']

for i, v in enumerate(lis):

print(i, v)

D:python3installpython.exe D:/python/py3script/python66.py

求1到100的和:

1~100的累积和为2550

遍历字符串和下标:

str1[0] = h

str1[1] = e

str1[2] = l

str1[3] = l

str1[4] = o

遍历字典、集合:

a 1

b 2

a 1

b 2

a

b

c

enumerate函数打印序列的下标和值:

0 h

1 e

2 l

3 l

4 o

0 a

1 b

2 c

Process finished with exit code 0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值