# 运行原理:
# 第一次从可迭代对象中取出第一个值赋值给变量名,再执行循环体代码.
# 第二次从可迭代对象中取出第二个值赋值给变量名,接着执行循环体代码.
# ......
# 第n次从可迭代对象中取出第n个值赋值给变量名,接着执行循环体代码,取完所有值,循环结束
for 变量名 in 可迭代对象: # 可迭代对象可以是:列表、字典、字符串、元组、集合
代码1
代码2
代码3
...
# 简单版: 利用for循环
li = ['alex_dsb', 'lxx_dsb', 'egon_nb']
for i in li: # 第一次:i='alex_dsb' 第二次:i='lxx_dsb' 第三次:'egon_nb'
print(i)
# 复杂版:利用while循环
li = ['alex_dsb', 'lxx_dsb', 'egon_nb']
i = 0
while i < 3: # i条件范围:0~2,且共循环3次
print(li[i])
i += 1
# 简单版:利用for循环
dic = {'k1': 111, 'k2': 2222, 'k3': 333}
for key in dic:
print(dic[key])
# 复杂版:while循环可以遍历字典,太麻烦了
# 简单版:利用for循环
msg = "you can you up,no can no bb"
for char in msg:
print(char)
# 复杂版:while循环可以遍历字符串,太麻烦了
引入:in后直接放一个数据类型来控制循环次数有局限性,当循环次数过多时,数据类型所包含值的个数就需要伴随增加,因此我们就用rang来控制循环次数再好不过了。
# 只指定结尾:range(10)
顾头不顾尾,默认从0开始。从0开始,从9结束。
# 指定开头和结尾:range(1,9)
指定开始指定结束。从1开始,到8结束。
# 指定开头和结尾及步长:
range(1,9,1)默认步长为1,步长代表从当前值的基础上相加,比如当前值为1,在当前值基础上加1得2,下一个值也就是2。从1开始,从8结束,每次加1。
# 在python2中
'''
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>
>>> range(1,9) # 1...8
[1, 2, 3, 4, 5, 6, 7, 8]
>>>
>>> range(1,9,1) # 1 2 3 4 5 6 7 8
[1, 2, 3, 4, 5, 6, 7, 8]
>>> range(1,9,2) # 1 3 5 7
[1, 3, 5, 7]
'''
# 在python3中
"""
>>> range(10)
range(0, 10)
>>> range(1, 9)
range(1, 9)
>>> range(1, 9, 1)
range(1, 9)
>>> range(1, 9, 2)
range(1, 9, 2)
"""
# 索引取值(不推荐)
li = ['aaa', 'bbb', 'ccc']
for i in range(len(li)):
print(i, li[i])
# 直接遍历取值(推荐)
for i in li:
print(li)
# 需求:用户登录,每次输错都答应提示错误次数。输错三次退出循环并打印提示。登录成功退出循环。
username = 'egon'
password = '123'
for i in range(3):
inp_username = input("please input your username>>:")
inp_password = input('please input your password>>:')
if inp_password == password and inp_username == username:
print("登录成功")
break
else:
print('错误【%s】次' % (i + 1))
else:
print("错误三次,强制退出。。。")
# 需求:打印0~6之间的数,4不打印
for i in range(7):
if i == 4:
continue
print(i)
for out_num in range(3):
print('------外层的代码【{}】-----'.format(out_num))
for in_num in range(5):
print('内层的代码【{}】'.format(in_num))
1、print之打印多值
2、print之end参数的使用
print(值1,值2,值n,end=‘\n‘)
,end用在所有值末尾,且end默认参数就是换行符\n
,print功能会在输出结果之前为输出的值末尾加上end指定的参数。同时我们也可以对end参数进行指定。print('hello', end='*')
print('world', end='|')
'''
hello*world|13
'''
3、print之换行符
print('hello\n', end='')
print('world\n', end='')
'''
hello
world
'''
原文:https://www.cnblogs.com/yang1333/p/12456559.html