while循环语句
- while循环
- for循环(后期)
while 条件:
...
...
...
print("123")
while 条件:
...
...
...
print(456)
语句基本使用
示例1:
print("开始")
while True:
print("Alex是个小都比")
print("结束")
# 输出:
开始
Alex是个小都比
Alex是个小都比
Alex是个小都比
Alex是个小都比
...
示例2:
print("开始")
while 1 > 2:
print("如果祖国遭受到侵犯,热血男儿当自强。")
print("结束")
# 输出:
开始
结束
示例3:
data = True
print("开始")
while data:
print("如果祖国遭受到侵犯,热血男儿当自强。")
print("结束")
# 输出:
开始
如果祖国遭受到侵犯,热血男儿当自强。
如果祖国遭受到侵犯,热血男儿当自强。
如果祖国遭受到侵犯,热血男儿当自强。
...
示例4:
print("开始")
flag = True
while flag:
print("滚滚黄河,滔滔长江。")
flag = False
print("结束")
# 输出:
开始
滚滚黄河,滔滔长江。
结束
示例5:
print("开始")
num = 1
while num < 3:
print("滚滚黄河,滔滔长江。")
num = 5
print("结束")
# 输出:
开始
滚滚黄河,滔滔长江。
结束
示例6:
print("开始")
num = 1
while num < 5:
print("给我生命,给我力量。")
num = num + 1
print("结束")
# 输出:
开始
给我生命,给我力量。
给我生命,给我力量。
给我生命,给我力量。
给我生命,给我力量。
结束
练习题:重复3次输出我爱我的祖国。
num = 1
while num < 4:
print("我爱我的祖国")
num = num + 1
我爱我的祖国
我爱我的祖国
我爱我的祖国
综合练习题
1,请实现一个用户登录系统,如果密码错误则反复提示让用户重新输入,直到输入正确才停止。
print("开始运行系统")
flag = True
while flag:
user = input("请输入用户名:")
pwd = input("请输入密码:")
if user == "yanghongjun" and pwd == "homjun":
print("登录成功")
else:
print("用户名或密码错误")
print("系统运行结束")
2,补充代码实现
猜数字,设定一个理想数字比如:66,一直提示让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有输入等于66,显示猜测结果正确,然后退出循环。
data = True
while data:
num = input("请输入一个数字:")
num = int(num)
if num > 66:
print("大了")
elif num < 66:
print("小了")
else:
print("正确")
data = False
3,使用循环输出1~100所有整数。
i = 1
while i <= 100:
print(i)
i = i + 1
4,使用循环输出 1 2 3 4 5 6 8 9 10,即:10以内除7以外的整数。
i = 1
while i <= 10:
if i == 7:
pass
##pass 是python内置命令,当i=7 什么都不干,过!
else:
print(i)
i = i + 1
或者
i = 1
while i <= 10:
if i != 7:
print(i)
i = i + 1
5,输出 1~100 内的所有奇数。
i = 1
while i < 101:
if i % 2 == 0:
print(i)
i = i+1
6,输出 1~100 内的所有偶数。
i = 1
while i < 101:
if i % 2 == 1:
print(i)
i = i+1
7,求 1~100 的所有整数的和。
total = 0
num = 1
while num < 101:
total = total +num
num = num + 1
print(total)
8,输出10 ~ 1 所有整数。
num = 10
while num > 0:
print(num)
num = num - 1
break
break,用于在while循环中帮你终止循环。
print("开始")
while True:
print("1")
break
print("2")
print("结束")
# 输出
开始
1
结束
通过示例来更深入理解break的应用。
示例1:
print("开始")
while True:
print("红旗飘飘,军号响。")
break
print("剑已出鞘,雷鸣电闪。")
print("从来都是狭路相逢勇者胜。")
print("结束")
示例2:
print("开始")
i = 1
while True:
print(i)
i = i + 1
if i == 101:
break
print("结束")
# 输出
开始
1
2
...
100
结束
示例3:
print("开始运行系统")
while True:
user = input("请输入用户名:")
pwd = input("请输入密码:")
if user == 'homjun' and pwd = "123456":
print("登录成功")
break
else:
print("用户名或密码错误,请重新登录")
print("系统结束")
# 输出
开始运行系统
>>> 用户名
>>> 密码
正确,登录成功
系统结束
不正确,一直循环输出
所以,以后写代码时候,想要结束循环可以通过两种方式实现了,即:条件判断 和 break关键字,两种在使用时无好坏之分,只要能实现功能就行。
continue
continue,在循环中用于 结束本次循环,开始下一次循环。
print("开始")
while True:
print(1)
continue
print(2)
print(3)
print("结束")
示例1:
print("开始")
while True:
print("红旗飘飘,军号响。")
continue
print("剑已出鞘,雷鸣电闪。")
print("从来都是狭路相逢勇者胜。")
print("结束")
# 输出
开始
红旗飘飘,军号响。
红旗飘飘,军号响。
红旗飘飘,军号响。
红旗飘飘,军号响。
...
示例2:
print("开始")
i = 1
while i < 101:
if i == 7:
i = i + 1
continue
print(i)
i = i + 1
print("结束")
# 输出
开始
1
2
3
4
5
6
8
9
10
...
100
结束
示例3:
print("开始")
i = 1
while True:
if i == 7:
i = i + 1
continue
print(i)
i = i + 1
if i == 101:
break
print("结束")
# 输出
开始
1
2
3
4
5
6
8
9
10
...
100
结束
写在最后,对于break和continue都是放在循环语句中用于控制循环过程的,一旦遇到break就停止所有循环,一旦遇到continue就停止本次循环,开始下次循环。
当然,通过如果没有了break和continue,我们用while条件的判断以及其他协助也能完成很多功能,有了break和continue可以在一定程度上简化我们的代码逻辑。
while else
当while后的条件不成立时,else中的代码就会执行。
while 条件:
代码
else:
代码
while False:
pass
else:
print(123)
num = 1
while num < 5:
print(num)
num = num + 1
else:
print(666)
# 输出
1
2
3
4
666
while True:
print(123)
break
else:
print(666)
# 输出
123
字符串格式化
字符串格式化,使用跟便捷的形式实现字符串的拼接。
%
基本格式化操作
name = "homjun"
# 占位符
# text = "我叫%s,今年18岁" %"homjun"
text = "我叫%s,今年18岁" %name
name = "homjun"
age = 18
# text = "我叫%s,今年%s岁" %("homjun",18)
# text = "我叫%s,今年%s岁" %(name,age)
text = "我叫%s,今年%d岁" %(name,age)
注
%s:字符串占位符
%d:整形占位符
https://www.cnblogs.com/wupeiqi/articles/5484747.html
message = "%(name)s你什么时候过来呀?%(user)s今天不在呀。" % {"name": "死鬼", "user": "老王"}
print(message)
百分比
text = "兄弟,这个片我已经下载了90%了,居然特么的断网了"
print(text)
text = "%s,这个片我已经下载了90%%了,居然特么的断网了" %"兄弟"
print(text)
# 输出:
兄弟,这个片我已经下载了90%了,居然特么的断网了
一旦字符串格式化中存现百分比的显示,请一定要呀加 %% 以实现输出 %。
format
text = "我叫{0},今年18岁".format("homjun")
text = "我叫{0},今年{1}岁".format("homjun",18)
text = "我叫{0},今年{1}岁,真是的姓名是{0}。".format("homjun",18)
text = "我叫{},今年18岁".format("homjun")
text = "我叫{},今年{}岁".format("homjun",18)
text = "我叫{},今年{}岁,真是的姓名是{}。".format("homjun",18,"homjun")
text = "我叫{n1},今年18岁".format(n1="homjun")
text = "我叫{n1},今年{age}岁".format(n1="homjun",age=18)
text = "我叫{n1},今年{age}岁,真是的姓名是{n1}。".format(n1="homjun",age=18)
text = "我叫{0},今年{1}岁"
data1 = text.format("homjun",666)
data2 = text.format("alex",73)
text = "我叫%s,今年%d岁"
data1 = text %("homjun",20)
data2 = text %("alex",84)
f
到Python3.6版本,更便捷。
text = f"嫂子喜欢{'跑步'},跑完之后满身大汗"
action = "跑步"
text = f"嫂子喜欢{action},跑完之后满身大汗"
name = "喵喵"
age = 19
text = f"嫂子的名字叫{name},今年{age}岁"
print(text)
text = f"嫂子的名字叫喵喵,今年{19 + 2}岁"
print(text)
# 在Python3.8引入
text = f"嫂子的名字叫喵喵,今年{19 + 2=}岁"
print(text)
# 进制转换
v1 = f"嫂子今年{22}岁"
print(v1)
v2 = f"嫂子今年{22:#b}岁"
print(v2)
v3 = f"嫂子今年{22:#o}岁"
print(v3)
v4 = f"嫂子今年{22:#x}岁"
print(v4)
# 理解
text = f"我是{'alex'},我爱大铁锤"
name = "alex"
text = f"我是{name},我爱大铁锤"
name = "alex"
text = f"我是{ name.upper() },我爱大铁锤"
# 输出:我是ALEX,我爱大铁锤
谢谢C站秃姥...
https://space.bilibili.com/283478842?spm_id_from=333.788.b_765f7570696e666f.1