一、流程控制之while循环
1、什么是循环?
循环指的就是重复做某一件事
2、为何要有循环
循环就是为了让计算机能够像人一样去重复做某件事
3、如何用循环
while循环,又称之为条件循环
1、能够重复多少次取决条件何时变为假
1、基本用法
"""
while 条件:
代码1
代码2
代码3
。。。
"""
2、死循环
while True:
# 一件事的三个步骤
print("第1步")
print("第2步")
print("第3步")
while True:
name = input('用户名:')
pwd = input('密码:')
print(name,pwd)
while True:
1+1
3、例子:条件变为False,while循环则结束
n = 1
while n <= 5:
if n % 2 == 0:
print(n)
n += 1
4、结束while循环的方式
方式一:把条件变为False,不会立刻结束循环,会等到把本次循环体代码都运行完毕后,
下一次循环开始重新判断条件时才会结束
tag = True
while tag:
inp_user = input('用户名:')
inp_pwd = input('密码:')
if inp_user == "egon" and inp_pwd == "123":
print('登录成功')
# 结束循环
tag = False
else:
print('账号或密码错误,请重新输入')
# print('其他代码')
方式二:break结束本层循环,只要运行到break就会立刻结束while循环,本次循环的后续代码都不会执行力
while True:
inp_user = input('用户名:')
inp_pwd = input('密码:')
if inp_user == "egon" and inp_pwd == "123":
print('登录成功')
# 结束循环
break
else:
print('账号或密码错误,请重新输入')
print('其他代码')
5、while循环的嵌套
while True:
while True:
while True:
break
break
break
tag=True
while tag:
while tag:
while tag:
tag=False
n = 1
while n <= 3: # 2 <= 3
print('外层循环第%s次' % n)
i = 1
while i <= 2:
print('========>内层循环第%s次' % i)
i += 1
n += 1
6、while+continue:continue结束本次循环,直接进入下一次
n = 1
while n <= 5:
if n == 4:
n+=1 # n = 5
continue
# n+=1 # 切忌在continue同一级别之后添加代码
print(n)
n += 1
while True:
inp_user = input('用户名:')
inp_pwd = input('密码:')
if inp_user == "egon" and inp_pwd == "123":
print('登录成功')
# 结束循环
else:
print('账号或密码错误,请重新输入')
continue
print('其他代码...')
7、while+else
else:else的子代码会在循环正常结束的情况下运行(break干死while循环的的情况称之为非正常结束)
n = 1
while n<=5:
if n == 4:
break
print(n)
n+=1else: print('else的代码运行')
二、流程控制之for循环
for循环在某种重复做某件事的场景下比while循环更简单
1、该场景指的就是:循环取值
names=['egon','李根','王根']
i=0
while i < len(names):
print(names[i]) # 0 1 2
i+=1
dic={'k1':111,'k2':222,'k3':33333}
2、for循环的次数取决in后跟那个对象里有多少值
names=['egon','李根','王根']
for item in names:
print(item)
dic={'k1':111,'k2':222,'k3':33333}
for k in dic:
print(k,dic[k])
for i in "abcdef":
print(i)
3、for+range: range(起始位置,结束位置,步长)
"""
>>> range(1,5,1) # 1 2 3 4
[1, 2, 3, 4]
>>> range(1,5,2) # 1 3
[1, 3]
>>>
>>> range(1,5)
[1, 2, 3, 4]
>>> range(5) # 0 1 2 3 4
[0, 1, 2, 3, 4]
"""
for x in range(1,5,1):
print(x)
for x in range(1,5,2):
print(x)
3、让一件事重复做3次
n=1
while n <= 3:
print("做一件事的步骤")
n+=1
for i in range(3):
print("做一件事的步骤")
4、for+break
for i in range(1,6):
if i == 4:
break
print(i)
5、for+continue
for i in range(1,6):
if i == 4:
continue
print(i)
6、for+else
for i in range(1,6):
# if i == 4:
# continue
print(i)
else:
print('====>')
7、for嵌套
for i in range(3):
print("外层循环第%s次" %i)
for j in range(2):
print('======》内存循环第%s次' %j)
强调:在循环的过程中不要修改被循环的对象
l = ['a', 'bb', 'c']
for i in l:
# del l[-1] # 在读的过程中不要对被循环对象做增、删除、修改操作
print(i)
三、数据类型
1、用途
int:记录年龄、等级等
float:身高、体重、薪资等
2、定义方式
x = 11 # x=int(11)
y = 3.1 # y=float(3.1)
print(type(y))
2.1 数据类型转换
res=str(x)
print(res,type(res)) # "11"
age = input('>>>: ') # age="11"
res=int(age) + 1
print(res)
int可以把纯数字的字符串转换成整型
res=int("123123123123123")
print(res,type(res))
float可以把小数组成的字符串转换成浮点型
res=float("3.1")
print(res,type(res))
3、常用操作+内置的方法
数学运算符与比较运算
需要掌握
十进制转成二进制
print(bin(123)) # 0b1111011
十进制转成八进制
print(oct(123)) # 0o173
十进制转成十六进制
print(hex(123)) # 0x7b