1、为什么要有for循环
理论上for循环能做的事情,while循环都可以做
之所以要有for循环,是因为for循环在循环取值(遍历取值)比while循环更加简洁
2、如何用for循环
语法:
for 变量名 in 可迭代对象:# 可迭代对象可以是:列表、字典、字符串、元组、集合
代码1
代码2
代码3
...
3、与for循环搭配的range函数
记住一个原则:range函数顾头不顾尾
range[起始数据,终点数据,步长] #如果不设置步长默认为1
例:>>>range[10]
[0,1,2,3,4,5,6,7,8,9]
>>>range[1,9]
[1,2,3,4,5,6,7,8]
>>>[1,9,1]
[1,2,3,4,5,6,7,8]
>>>[1,9,2]
[1,3,5,7]
4、 for+else的使用和while循环一样;for+break的使用和while循环一样。
5、python2和python3对于range()函数的优化,python2对于range相当于是一筐老母鸡下的鸡蛋,python3对于range函数的优化成为了能够下一筐鸡蛋的老母鸡
6、print的补充:
6.1、print后边自动跟一个换行符
print("hello",end='') print('world',end='')
输出结果:
C:\Users\acer\AppData\Local\Programs\Python\Python37\python.exe C:/Users/acer/Desktop/code/D6.for循环.py
helloworld
Process finished with exit code 0
7、终止for循环只有break一种
8、进制的转换
# print(oct(11)) #十进制转八进制 # print(bin(11)) #十进制转二进制 # print(hex(123)) #十进制转十六进制 """ 二进制->十进制 print(int('0b1011',2)) #11 二进制->八进制 print(int('0o13',8)) #11 二进制->十六进制 print(int('0xb',16)) #11 """
9、一些规律:
# age = 10 # 相当于age = int(10)
# 此时此刻可以得到一个结论:名字(参数),这代表对这个参数的处理方式,并把这个处理好的结果返回
10、
msg = 'hello world' # 索引: # 正向取值和反向取值 print(msg[0]) print(msg[5]) print(msg[-1]) print(msg[-2]) # 因为str类型为不可变类型,所以无法对其中一个特殊值改变 # msg[0] = 'k' 此处错误 # 切片 # res = msg[0:5] # 切片:索引的拓展应用,从一个大字符串中拷贝出一个子字符串 # print(res) # 注意此时此刻切片的内置方法是顾头不顾尾原则 # 正向步长 # pse = msg[0:5:2] # msg[起始位置:最后位置:步长] # 反向步长 # pse = msg[5:0:-1] # print(pse) # pse = msg[:] # 默认其为起始位置,终止为终止位置,默认步长为1,输出结果是:hello world # pse = msg[::-1] # 默认倒着来 """ 成员运算 print("alex" in "alex is slk") print("alex" not in 'alex is slk') # 相当于bool判断 """ # 移除字符串左右两侧的符号strip(),默认去掉的是空格,strip只取两边不取中间 """ msg = '*****egon' msg.strip('*') # 可以设置想要省略的类型:.strip("符号") print(msg) print(msg.strip('*')) msg = '*e**gon*2*' print(msg.strip('*')) """ # 应用 inp_username = 'egon' inp_userpassword = '123' username = input('请输入您的账号').strip() password = input('请输入您的密码') if inp_username == username and inp_userpassword == password : print("登陆成功") else:
print("登录失败")
for循环代码
# 列表 """ l1 = ['111','weqrwq','32er','231ff'] for x in l1: print(x) """ """ # 字典 dic = {'k1':111,'k2':222,'k3':333} for x in dic: print(x,dic[x]) """ """ # 字符串 msg = 'wqeqwb 21ewq aser' for x in msg: print(x) #空的部分也算是字符串 """ """ inp_name = 'user' inp_pwd = '123' for x in range(3): name = input("请输入账号") password = input("请输入密码") if name == inp_name and password == inp_pwd: print("登录成功") break else: print("账号或者密码输入错误") else: print("输入错误次数过多") """ """ # len()函数用来测量长度 l1 = ['111','asdaw','321'] for x in range(len(l1)): print(l1[x]) """ # for关于continue的使用方法 """ for i in range(6): if i == 4: continue print(i) """ # print的补充 """ 1、print('hello') print('world') >>>hello >>>world print('hello\n') print('world') >>>hello >>> >>>world # 也就是说print后边自动跟了一个换行符\n print("hello",end='') print('world',end='') C:\acer\AppData\Local\Programs\Python\Python37\python.exe C:/Users/acer/Desktop/code/D6.for循环.py helloworld Process finished with exit code 0 """ for x in range(4): print("外层循环") for y in range(5): print("内层循环") # 终止for循环只有break一种方法