python编程中的for循环_Python全栈自动化系列之Python编程基础(for循环)

for循环(遍历循环):

1)在python中for循环可以遍历任何可迭代对象,如列表、字符串等

1470033-20200112142127159-550576362.png

语法:

for i in xxx:

# 循环体

需求点:当前有10位同学,放在一列表中,请区分等级

小于60:不及格

60-79:及格

80-100:优秀

# 成绩列表

li = [78,32,55,77,88,90,54,24,67,39]

# for循环遍历成绩列表,并区分等级

for i in li:

if i < 60:

print("你的成绩是{},不及格".format(i))

elif i <80:

print("你的成绩是{},及格".format(i))

elif i <= 100:

print("你的成绩是{},优秀".format(i))

运行结果:

1470033-20200112142638565-2012330290.png

2)内置函数range:左闭右开

range(n):默认生成一个 0到n-1的整数序列,对于这个整数序列,我们可以通过list()函数转化为列表类型的数据

range(n,m):默认生成一个n到m-1的整数序列,对于这个整数序列,我们可以通过list()函数转化为列表类型的数据

range(n,m,k):相当于其他函数里面的for循环,n,初始值, m,结束值 K,步长,会生成初始值为n,结束值为m-1,递减或者递增步长K

两个参数:范围

三个参数:范围,步长

注意点:rangen返回的数据是支持使用for进行遍历的,也能够进行下标取值和切片(切片返回的还是range类似数据)

3)for循环案例

需求点:计算1+2+3+....+100结果

"""

while循环实现

"""

i = 1

sum = 0

while i <= 100:

sum = sum + i

i += 1

print(sum)

**************************

"""

for循环实现

"""

s = 0

for i in range(1,101):

s += i

print(s)

运行结果:

1470033-20200112143239354-860058765.png

4)for 循环也支持使用break、continue

需求点:使用for循环打印100遍hello python ,打印到第50遍之后,后面的不在打印

for i in range(100):

print("这是第{}遍打印:hello python".format(i + 1))

if i + 1 == 50:

break # 终止循环

print("---------------end---------------")

运行结果:

1470033-20200112143613481-1020139993.png

for i in range(100):

print("这是第{}遍打印:hello python".format(i + 1))

if i + 1 == 50:

continue # 中止当前本轮循环

print("---------------end---------------")

运行结果:

1470033-20200112143908439-1966441100.png

5)for循环所使用的场景

1、遍历列表2、遍历字符串3、遍历字典4、遍历元组

注意点:1.直接遍历字典:遍历出来是字典的键

dic = {"name":"zl","sex":"男"}

for value in dic:

print(value)

运行结果:

1470033-20200112144522299-991888287.png

2.遍历字典的值,使用values函数

dic = {"name":"zl","sex":"男"}

for i in dic.values():

print(i)

运行结果:

1470033-20200112144757718-1855737454.png

3.同时遍历字典的键以及值,使用items函数

dic = {"name":"zl","sex":"男"}

for k,v in dic.items(): # 使用元组拆包

print("Key",k)

print("Value",v)

运行结果:

1470033-20200112144951391-845107507.png

6)元组拆包

c,d = (10,20)

print(c)

print(d)

tu = (11,22,33,44)

aa,bb,cc,dd = tu

print(aa)

print(bb)

print(cc)

print(dd)

运行结果:

1470033-20200112145423356-228474442.png

7)for-else语句:for循环遍历结束之后会执行else,如果使用break跳出循环,则不会执行

需求点:注册小案例

需求:设计有个注册程序,注册的时候,提示用户输入账号密码,输入完了之后,校验该账户之前是否注册过,如果没有

注册过,则添加到users中保存,若注册过,则提示用户已经注册过

#先定义已存在的用户

users = [{"user":"py1","pwd":"123"},{"user":"py2","pwd":"111"}]

name = input("请输入账号:")

pwd = input("请输入密码:")

#判断账户是否已经注册?

for item in users:

if name == item["user"]:

print("该用户已经注册")

break

# 待for循环遍历完所有注册过的列表后再执行else语句

else:

print("注册成功")

# 把账户密码添加到users中

users.append({"user":name,"pwd":pwd})

8)for循环的多重嵌套

需求点:输出99乘法表,结果如下:(提示嵌套for循环,格式化输出)

for i in range(1,10): # 决定行

for j in range(1,i+1): # 决定列

print("{} * {} = {:<4}".format(i,j,i*j),end="")

print() # 换行

运行结果:

1470033-20200112150606708-983063735.png

9)列表推导式(帮助我们快速生成列表)

需求:快速生成一个[“pageq”,"page2","page3"]

li = []

for i in range(1,4):

num = "page{}".format(i)

li.append(num)

print(li)

使用列表推导式:

li1 = ["page{}".format(i) for i in range(1,4)]

print(li1)

运行结果:

1470033-20200112150957848-1131475070.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值