循环指的就是重复做某件事情。
因为人为了控制计算机能够像人一样重复去做某件事。
使用while语句可以实现循环,由于while循环需要借助条件判断,所以能够循环多少次取决于条件何时变为假。
while 条件:
代码1
代码2
代码3
...
使用while循环时,如果条件的不变,循环就会变为无限循环,即死循环。
如果循环仅仅是执行代码,并不会对计算机造成太大负担。
while True:
name = input(‘用户名:‘)
pwd = input(‘密码:‘)
print(name,pwd)
如果循环是重复计算,一直进行运算会造成CPU过载。
while True:
1+1
(1)把条件变为False,不会立刻结束循环,会等到把本次循环体代码都运行完毕后,下一次循环开始重新判断条件时才会结束while循环。
示例1:
n = 1
while n <= 5:
if n % 2 == 0:
print(n)
n += 1
示例2:
tag = True
while tag:
inp_user = input("请输入用户名: ")
inp_pwd = input("Password: ")
if inp_user == "张三" and inp_pwd == "123":
print("登录成功")
tag = False
else:
print("用户名或密码错误。请重新输入")
print("李四来了")
(2)break结束本层循环,只要运行到break就会立即结束while循环,本次循环的后续代码都不会执行了。
while True:
inp_user = input("用户名: ")
inp_pwd = input("密码: ")
if inp_user == "张三" and inp_pwd == "李四":
print("登录成功")
break # 结束本层循环,即此次while循环结束
else:
print("账号或密码错误")
print("李四来了")
while True:
print(‘here is fist‘)
while True:
print("here is second")
break
break
n = 1
while n <= 3:
print("外层循环第%s次" % n)
i = 1
while i <= 2:
print("=====>>>>>内层循环第%s次" % i)
i += 1
n += 1
n = 1 # 也可以自定义tag=True
while n <= 3:
print("外层循环第%s次" % n)
tag = True
while tag:
print("=====>>>>>内层循环第1次" )
tag = False
n += 1
continue结束本层循环,直接进入下一次
n = 1
while n <= 5:
if n == 4:
n += 1
continue
# n += 1 # 切忌在continue的同级代码下的代码
print(n)
n += 1
while True:
inp_user = input("用户名: ")
inp_pwd = input("密码: ")
if inp_user == "张三" and inp_pwd == "李四":
print("登录成功")
else:
print("登陆失败,请重新登录")
continue
print("Loading================")
break
else的子代码会在循环正常结束的情况下运行(被break终结while循环的情况称之为非正常结束)。
n = 1
while n <=5:
if n == 4:
n += 1
continue
print(n)
n += 1
else:
print(‘else 子代码块运行‘)
n = 1
while n <=5:
if n == 4:
break # 结束后,后续代码不执行
print(n)
n += 1
else:
print(‘else 子代码块运行‘)
for循环是为了解决while循环在某些场景下较为复杂的问题,比如循环取值,起到精简代码的作用。
names = ["张三","李四","罗翔"]
i = 0
while i < len(names):
print(names[i])
i += 1
注意:for循环的次数取决in后跟那个对象里有多少值
names = ["张三","李四","罗翔"]
for item in names:
print(item)
dic={0.1:"张三","k2":"李四"}
for k in dic:
print(k,dic[k],type(k))
range(起始位置(不写默认0),结束位置(不取值,必写),步长(不写默认1))
"""
>>> 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 i in range(5):
print(i)
0
1
2
3
4
for j in range(1,5,2):
print(j)
1
3
n = 1
while n <= 3:
print("do it *%s" % n)
n += 1
do it *1
do it *2
do it *3
for i in range(3):
print("do it *%s" % i) # 使用for之后语法简洁
do it *0
do it *1
do it *2
for i in range(1,6):
if i == 4:
break # 直接打断循环
print(i)
1
2
3
for i in range(1,6):
if i == 4:
continue # 跳过本层,由于取值不被影响,故继续执行循环
print(i)
1
2
3
5
for i in range(1,6):
print(i)
else:
print("======")
1
2
3
4
5
======
for i in range(3):
print("外层循环第%s次" % i)
for j in range(2):
print("=======>>>>>内层循环第%s次" % j)
外层循环第0次
=======>>>>>内层循环第0次
=======>>>>>内层循环第1次
外层循环第1次
=======>>>>>内层循环第0次
=======>>>>>内层循环第1次
外层循环第2次
=======>>>>>内层循环第0次
=======>>>>>内层循环第1次
l = [‘a‘, ‘bb‘, ‘c‘]
for i in l:
# del l[-1] # 在读的过程中不要对被循环对象做增、删除、修改操作,否则会使程序可读性变差。
print(i)
在python3中有两个与数字有关的数据类型,整型int与浮点型float,为了方便理解,将他们合并称为数字类型。
int:记录年龄、等级等
float:身高、体重、薪资等
x = 11 # x=int(11),解释器帮助省略了int()表达式
y = 3.1 # y=float(3.1)
print(type(y)) # <class ‘float‘>
# 数据类型转换
res=str(x)
print(res,type(res)) # "11"
age = input(‘>>>: ‘) # age="11"
res=int(age) + 1 # 数据类型转换后方可进行数字运算
print(res) # 11 <class ‘str‘>
# int可以把纯数字的字符串转换成整型,不可以有小数点等其他非数字内容
res=int("123123123123123")
print(res,type(res)) # 123123123123123 <class ‘int‘>
# float可以把小数组成的字符串转换成浮点型
res=float("3.1")
print(res,type(res)) # 3.1 <class ‘float‘>
主要用于数学运算符与比较运算。
# 需要掌握:
# 十进制转成二进制
print(bin(12306)) # 0b11000000010010
# 十进制转成八进制
print(oct(12306)) # 0o30022
# 十进制转成十六进制
print(hex(12306)) # 0x3012
int与float都只能存一个值
int与float都是不可变类型
原文:https://www.cnblogs.com/huluhuluwa/p/13052775.html