IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python—基础篇(三) -> 正文阅读

[Python知识库]Python—基础篇(三)

前言

今天呢,给大家分享一下 while 循环的知识,相信大家小时候都有被老师罚过抄写课本的情况,一写就写好多遍,苦不堪言啊…这就是所谓的循环了,重复反复。我印象曾经有位同学拿两支笔一块写,更离奇的是他不是像普通人那样一只手拿两支笔,他是左右开弓,现在想想也是位神人…好了,话不多说,开始我们今天的任务吧。

一、While 循环

1.1 理解循环

  1. 在生活中,重复反复的事情就是循环(可以参考前言中讲的真实小故事)
  2. 在Python中叫做流程控制语句。
  3. 基本循环格式
while 条件:  
    # 条件成立重复执行的代码1
    # 条件成立重复执行的代码1
  1. 举个简单的例子
  • 情人节要对女朋友是不是要说点什么,肉肉麻麻类的话~
  • 只说一遍显得很没有诚意,说很多遍又很累怎么办,这个时候就要用到我们学到的知识了
i = 0
while i < 10:  # 当 i 大于等于 10 时,条件不成立就会停止循环了
    print('XXX超级超级喜欢你,嘴上三分,心里十分。')
    print('遇见你之前,我没想过结婚,遇见你之后,结婚我没想过别人。')
    print('你问我有多爱你,大概就是,再遇见你一百次,也会沦陷一百次。')
    print('我还是很喜欢你,像盛夏的阳光普照,不留余地。')
    print('我想把世界都给你,惯到生活不能自理。')
    i += 1  # 每次循环 i 加1   0+1,1+1,2+1,3+1...+到条件不成立时,停止循环
#相信你的女朋友听了一定会感到到哭

运行结果:
XXX超级超级喜欢你,嘴上三分,心里十分。
遇见你之前,我没想过结婚,遇见你之后,结婚我没想过别人。
你问我有多爱你,大概就是,再遇见你一百次,也会沦陷一百次。
我还是很喜欢你,像盛夏的阳光普照,不留余地。
我想把世界都给你,惯到生活不能自理。
XXX超级超级喜欢你,嘴上三分,心里十分。
遇见你之前,我没想过结婚,遇见你之后,结婚我没想过别人。
你问我有多爱你,大概就是,再遇见你一百次,也会沦陷一百次。
我还是很喜欢你,像盛夏的阳光普照,不留余地。
我想把世界都给你,惯到生活不能自理。
XXX超级超级喜欢你,嘴上三分,心里十分。
遇见你之前,我没想过结婚,遇见你之后,结婚我没想过别人。
你问我有多爱你,大概就是,再遇见你一百次,也会沦陷一百次。
我还是很喜欢你,像盛夏的阳光普照,不留余地。
我想把世界都给你,惯到生活不能自理。
...........
# 太长了所以后面省略掉了

1.2 案例集锦

  1. 计算计算 1~100 之间所有偶数的和
i = 1
SumResult = 0
while i <= 100:
    SumResult += i
    i += 1
print(f'1-100累加的和是{SumResult}')
  1. 计算 1~100 之间所有偶数的和
i = 1
SumResult = 0
while i <= 100:
    if i % 2 == 0 :
        SumResult += i
    i += 1
print(f'1~100之间所有偶数累加的和是{SumResult}')

二、 退出循环

2.1 理解

  1. python中有两个关键字
  • break:直接终止整个循环,结束。over
  • continue:终止本次循环,继续下一次的循环。

还有调用系统命令终止循环的,不建议大家使用,需要知道这个东西就好,分别是quit() exit()。

2.2 简单案例

  1. 被罚操场跑10圈,每跑一圈喊1次“我错了”,后来决定,第5圈跑完就可以结束了
count = 0
while count < 10:
    if count == 5:
        break  # 当 变量 count=5 时,终止循环
    print('我错了')
    count += 1
    
# 运行结果:
我错了
我错了
我错了
我错了
我错了
  1. 输出 0 1 2 3 4 6 7 8 9 数字,没有5
i = 0
while i < 10:
    if i == 5:
        i += 1
        continue  # 结束本次循环,执行下一次循环
    print(i)
    i += 1

# 运行结果:
0
1
2
3
4
6
7
8
9

三、while循环嵌套

3.1 应用场景

给大家讲个小故事也许就懂了,一天学校里一对小情侣吵架了,那个女朋友呢就要求她男朋友围着操场跑圈,每跑一圈喊三遍"我错了",还要跑够100圈!这时思考一下运用循环语句该怎么写?

# while 嵌套
i = 1  # 表示跑的圈数
while i <= 100:
    print(f'跑了{i}圈了')
    J = 0  # 表示喊了几遍
    while J < 3:
        print('我错了')
        J += 1
    i += 1
    
# 运行结果:
跑了1圈了
我错了
我错了
我错了
跑了2圈了
我错了
我错了
我错了
跑了3圈了
我错了
我错了
我错了
跑了4圈了
我错了
我错了
我错了
......
跑了95圈了
我错了
我错了
我错了
跑了96圈了
我错了
我错了
我错了
跑了97圈了
我错了
我错了
我错了
跑了98圈了
我错了
我错了
我错了
跑了99圈了
我错了
我错了
我错了
跑了100圈了
我错了
我错了
我错了

Process finished with exit code 0
# 中间的就直接省略了,太长放不下了哈哈哈
  1. 打印5行4列的"*"
  • 外循环控制行数,内循环控制列数
i = 0   # 行数
while i < 5:
    J = 0  # 列
    while J < 5:
        print('*',end = ' ')
        J += 1
    print()
    i += 1
    
# 运行结果:
* * * * * 
* * * * * 
* * * * * 
* * * * * 
* * * * * 
  1. 打印乘法表
i = 1   
while i <= 9:
    J = 1
    while J <= i:
        print(f'{J}*{i}={J * i}',end='\t')
        J += 1
    print()
    i += 1
    
# 运行结果:
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	

四、任务清单

  1. 张三有个习惯,每天要吃100只冰淇淋,而且吃完第50个后,都会去一趟洗手间,回来再接着吃。
  • 编程实现
  • 吃冰淇淋的时候,在控制太台打印”这是今天吃的第n个冰淇淋了“
  • 去洗手间的时候,在控制台打印“先去趟洗手间,回来再吃”
Eat = 1
while Eat <= 100:
    print(f'这是今天吃的第{Eat}个冰淇淋了')
    Eat += 1
    if Eat == 51:
        print('先去趟洗手间,回来再吃')
        continue
        
# 运行结果:
......
这是今天吃的第47个冰淇淋了
这是今天吃的第48个冰淇淋了
这是今天吃的第49个冰淇淋了
这是今天吃的第50个冰淇淋了
先去趟洗手间,回来再吃
这是今天吃的第51个冰淇淋了
这是今天吃的第52个冰淇淋了
这是今天吃的第53个冰淇淋了
这是今天吃的第54个冰淇淋了
.....
# 太长,省略了一部分
  1. 张三每天都计划吃100只冰淇淋,但每次吃完第50个后,都会去一趟洗手间,回来之后就不吃了。
  • 编程实现
  • 吃冰淇淋的时候,在控制太台打印”这是今天吃的第n个冰淇淋了“
  • 去洗手间的时候,在控制台打印“先去趟洗手间,回来可不吃了”
Eat = 1
while Eat <= 100:
    print(f'这是今天吃的第{Eat}个冰淇淋了')
    Eat += 1
    if Eat == 51:
        print('先去趟洗手间,回来可不吃了')
        break

# 运行结果:
....
这是今天吃的第41个冰淇淋了
这是今天吃的第42个冰淇淋了
这是今天吃的第43个冰淇淋了
这是今天吃的第44个冰淇淋了
这是今天吃的第45个冰淇淋了
这是今天吃的第46个冰淇淋了
这是今天吃的第47个冰淇淋了
这是今天吃的第48个冰淇淋了
这是今天吃的第49个冰淇淋了
这是今天吃的第50个冰淇淋了
先去趟洗手间,回来可不吃了

Process finished with exit code 0
# 太长
  1. 输出 1-100 之间的所有偶数
Number = 1
while Number <= 100:
    if Number % 2 == 0:
        print(Number)
    Number += 1
    
# 运行结果:
76
78
80
82
84
86
88
90
92
94
96
98
100

Process finished with exit code 0
# 长..
  1. 张三出差去上海35天,但中间每工作5天,会回家2天
  • 编程计算张三在上海一共呆了多少天
Day = 35  # 总出差天数
Number = Day / (5 + 2)   # 工作的次数
"""
题目说明每工作5天,会回家2天
那么就是说明每次有7天的时间是在总共35天的时间规划安排,
我们来计算有多少次,35/7=5 次
所以,不管怎么说,张三只能工作5次(每次5天),回家也是5次(每次2天)
"""
Work = Number * 5  # 工作的天数
print(f'张三在上海一共呆了{int(Work)}天')

# 运行结果:
张三在上海一共呆了25
  1. 张坤在全国举办了32场演唱会,第一场观众是1000人,往后每举办一场,观众人数就减少10人
  • 计算最后一场演唱会的时候,观众人数是多少
Number = 1  # 演唱会次数
Person = 1000 # 观众人数
while Number <= 32:
    Number += 1
    Person -= 10
    if Number == 32:
        print(f'最后一场演唱会,观众人数是{Person}')

# 运行结果:
最后一场演唱会,观众人数是690
  1. 猜年龄游戏
  • 假设真实年龄是10岁
  • 让用户输入猜测的年龄
  • 猜测正确,输出“恭喜,猜对了”,并退出程序
  • 猜测错误,输出“再来1次”
  • 允许用户最多尝试3次,3次都没有猜对,输出“抱歉,您的次数超过三次”,然后直接退出程序
Number = 1  # 输入次数
while Number <= 3:
    Age = int(input('输入猜测的年龄:'))
    Number += 1
    if Age == 10:
        print('恭喜,猜对了')
        break
    elif Number > 3:
        print('抱歉,您的次数超过三次')
        break

# 运行结果:
输入猜测的年龄:5
输入猜测的年龄:6
输入猜测的年龄:8
抱歉,您的次数超过三次
输入猜测的年龄:6
输入猜测的年龄:10
恭喜,猜对了
输入猜测的年龄:9
输入猜测的年龄:6
输入猜测的年龄:10
恭喜,猜对了
输入猜测的年龄:10
恭喜,猜对了
  1. 实现“鸡兔同笼”
  • 有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔
Feet = 94 # 总脚数
Head = 35 # 总只数
Rabbit = Feet / 2 - 35  # 兔子有两只脚 计算公式: 总脚数 / 鸡的脚数 - 总只数 = 兔的只数
Chicken = Head - Rabbit  # 兔的只数得出之后,鸡的只数就更容易计算了
print(f'笼中各有{int(Chicken)}只鸡{int(Rabbit)}只兔')

# 运行结果:
笼中各有23只鸡12只兔

总结

爬行中…

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 08:58:18  更:2021-08-28 08:59:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:00:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码