Day4 循环关键字

文章目录

  • Day4 循环关键字
    • 1. 循环关键字
      • 1.1 continue和break
      • 1.2 区分:
    • 2. while使用套路
      • 2.1 格式
      • 2.2 练习
    • 3. else的用法
    • 4. 练习
      • 4.1 基础题
      • 4.2进阶题

1. 循环关键字

1.1 continue和break

continue 和 break都是循环体关键字(只能出现在循环体中)
1)continue - 结束一次循环(当触发到continue时,结束当次循环,重头开始下一次循环)

  • 在执行循环的时候如果遇到continue,那么这一次结束循环,直接进入下一次循环
  • 或:条件语句成立时,continue被执行,continue后面的语句没机会执行,再进入下一次循环
    2)break - 结束整个循环(当触发到break时,打破整个循环,只有循环break之前执行的代码存活)
  • 在执行循环体的时候,如果遇到break,整个循环结束且不进入下一次循环
  • 或:条件语句成立时,break被执行,break后面的语句没机会执行,且不进入下一次循环

1.2 区分:

# continue
for i in range(7):if i == 5:continueprint(i)

0
1
2
3
4
6

# break
for i in range(7):if i == 5:breakprint(i)

0
1
2
3
4

2. while使用套路

2.1 格式

while True:每次循环需要做的事情(需要重复执行的代码)if 循环结束条件:break

2.2 练习

猜数字游戏:
游戏开始计算机产生一个0-100随机数,
用户输入猜的数字直到猜对为止。

from random import randint
num = randint(0, 101)
sum1 = 0
while True:guess = int(input('请输入猜的数字:'))sum1 += 1if guess == num:if sum1 <= 5:print('猜对啦,天才!')elif sum1 <= 10:print('诶呦!不错哦!')else:print('猜对啦,脑子慢啦!')breakelif guess > num:print('猜大啦,再小点!')else:print('猜小啦,再大点!')

请输入猜的数字:50
猜小啦,再大点!
请输入猜的数字:75
猜大啦,再小点!
请输入猜的数字:62
猜小啦,再大点!
请输入猜的数字:70
猜大啦,再小点!
请输入猜的数字:66
猜小啦,再大点!
请输入猜的数字:68
猜大啦,再小点!
请输入猜的数字:67
诶呦!不错哦!

3. else的用法

  1. 完整的for循环:
for 变量 in 序列:循环体
else:代码段
  1. 完整的while循环:
while 条件语句:循环体
else:代码段

1)else的存在不影响原循环的执行
2)如果else之前的循环自然死亡(没有条件被执行),那么else之后的代码就会被执行。
如果else之前的循环有遇到break,那么else之后的代码不会被执行。

for x in range(5):print(x, '====')if x > 3:breakprint(x, '++++')
else:print('else!')

0 ====
0 ++++
1 ====
1 ++++
2 ====
2 ++++
3 ====
3 ++++
4 ==== (break,没有++++)

4. 练习

4.1 基础题

  1. 根据输入的成绩的范围打印及格 或者不及格
score = int(input('请输入您的成绩:'))
if score >= 60:print('及格啦!')
else:print('不及格,下次加油!')

请输入您的成绩:59
不及格,下次加油!

  1. 根据输入的年纪范围打印成年或者未成年,如果年龄不在正常范围内(0~150)打印这不是人!
age = int(input('请输入您的年龄:'))
if 0 <= age < 18:print('没成年!')
elif 18 <= age <= 150:print('成年啦!')
else:print('这不是人!')

请输入您的年龄:152
这不是人!

  1. 输入两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息a-b的结果不是奇数
a = int(input('请输入一个整数:'))
b = int(input('请输入一个整数:'))
if (a-b) % 2 == 1:print('a-b的结果为奇数')
else:print('a-b的结果不是奇数')

请输入一个整数:15
请输入一个整数:12
a-b的结果为奇数

  1. 使用for循环输出 0~100内所有3的倍数。
for i in range(1, 100):if i % 3 == 0:print(i, '是3的倍数')

优化:

for i in range(3, 100, 3):print(i, '是3的倍数')

3 是3的倍数
6 是3的倍数
9 是3的倍数
12 是3的倍数
15 是3的倍数
18 是3的倍数
21 是3的倍数
24 是3的倍数
27 是3的倍数
30 是3的倍数
33 是3的倍数
36 是3的倍数
39 是3的倍数
42 是3的倍数
45 是3的倍数
48 是3的倍数
51 是3的倍数
54 是3的倍数
57 是3的倍数
60 是3的倍数
63 是3的倍数
66 是3的倍数
69 是3的倍数
72 是3的倍数
75 是3的倍数
78 是3的倍数
81 是3的倍数
84 是3的倍数
87 是3的倍数
90 是3的倍数
93 是3的倍数
96 是3的倍数
99 是3的倍数

  1. 使用for循环输出100~200内个位数或者十位数能被3整除的数。
for i in range(101, 200):if i // 10 % 10 % 3 == 0 or i % 10 % 3 == 0:print(i, '符合条件')

优化:

for i in range(100, 200):ge = i % 10shi = i // 10 % 10if ge % 3 == 0 or shi % 3 == 0:print(i, '符合条件')

101 符合条件
102 符合条件
103 符合条件
104 符合条件
105 符合条件
106 符合条件
107 符合条件
108 符合条件
109 符合条件
110 符合条件
113 符合条件
116 符合条件
119 符合条件
120 符合条件
123 符合条件
126 符合条件
129 符合条件
130 符合条件
131 符合条件
132 符合条件
133 符合条件
134 符合条件
135 符合条件
136 符合条件
137 符合条件
138 符合条件
139 符合条件
140 符合条件
143 符合条件
146 符合条件
149 符合条件
150 符合条件
153 符合条件
156 符合条件
159 符合条件
160 符合条件
161 符合条件
162 符合条件
163 符合条件
164 符合条件
165 符合条件
166 符合条件
167 符合条件
168 符合条件
169 符合条件
170 符合条件
173 符合条件
176 符合条件
179 符合条件
180 符合条件
183 符合条件
186 符合条件
189 符合条件
190 符合条件
191 符合条件
192 符合条件
193 符合条件
194 符合条件
195 符合条件
196 符合条件
197 符合条件
198 符合条件
199 符合条件

  1. 使用for循环统计100~200中十位数是5的数的个数
count = 0
for i in range(100, 201):if i // 10 % 10 == 5:count += 1
print(count)

优化:

count = 0
for i in range(150, 160):count += 1
print(count)

10

  1. 使用for循环打印50~150中所有能被3整除但是不能被5整除的数
for i in range(50, 151):if i % 3 == 0 and i % 5 != 0:print(i, '能被3整除但是不能被5整除')

优化:

for i in range(51, 150, 3):if i % 5 != 0:print(i, '能被3整除但是不能被5整除')

51 能被3整除但是不能被5整除
54 能被3整除但是不能被5整除
57 能被3整除但是不能被5整除
63 能被3整除但是不能被5整除
66 能被3整除但是不能被5整除
69 能被3整除但是不能被5整除
72 能被3整除但是不能被5整除
78 能被3整除但是不能被5整除
81 能被3整除但是不能被5整除
84 能被3整除但是不能被5整除
87 能被3整除但是不能被5整除
93 能被3整除但是不能被5整除
96 能被3整除但是不能被5整除
99 能被3整除但是不能被5整除
102 能被3整除但是不能被5整除
108 能被3整除但是不能被5整除
111 能被3整除但是不能被5整除
114 能被3整除但是不能被5整除
117 能被3整除但是不能被5整除
123 能被3整除但是不能被5整除
126 能被3整除但是不能被5整除
129 能被3整除但是不能被5整除
132 能被3整除但是不能被5整除
138 能被3整除但是不能被5整除
141 能被3整除但是不能被5整除
144 能被3整除但是不能被5整除
147 能被3整除但是不能被5整除

  1. 使用for循环计算50~150中所有能被3整除但是不能被5整除的数的和
count = 0
for i in range(50, 151):if i % 3 == 0 and i % 5 != 0:count += i
print(count)

优化:

count = 0
for i in range(51, 151, 3):if i % 5 != 0:count += i
print(count)

2682

  1. 统计100以内个位数是2并且能够被3整除的数的个数。
count = 0
for i in range(100):if i % 10 == 2 and i % 3 == 0:count += 1
print(count)

优化:

count = 0
for i in range(2, 100, 10):if i % 3 == 0:count += 1
print(count)

3

注:优化代码是程序员的职业素养,就从现在开始养成吧!

4.2进阶题

  1. 输入任意一个正整数,求他是几位数?
num = int(input('请输入一个正整数:'))
count = 1
while num // 10 != 0:count += 1num //= 10
print('该整数为', count, '位数', sep='')

请输入一个正整数:1111
该整数为4位数

  1. 打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字⽴方和等于该数本身。例如:153是

    ⼀个⽔仙花数,因为 1³ + 5³ + 3³ 等于 153。

for i in range(100, 1000):if (i // 100) ** 3 + (i % 100 // 10) ** 3 + (i % 10) ** 3 == i:print('水仙花数是:', i)

水仙花数是: 153
水仙花数是: 370
水仙花数是: 371
水仙花数是: 407

  1. 判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)
num = int(input('请输入一个素数:'))
for i in range(2, num):if num % i != 0:print(num, '是素数')breakelse:print(num, '不是素数')

优化:

num = int(input('请输入一个素数:'))
count = 0
for i in range(2, num):if num % i == 0:count += 1break
if count == 0:print(num, '是素数')
else:print('不是素数')

请输入一个素数:23
23 是素数

  1. 输出9*9口诀。 程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
for i in range(1, 10):for j in range(1, i + 1):print(f'{j}*{i}={i * j}', end='\t')print()

  1. 这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?(可以直接使用穷举法)
for i in range(0, 35):for j in range(0, 51):if 6 * i + 4 * j + (100 - i - j) == 200:print('大马有:', i, '匹,', '中马有:', j, '匹,', '小马有:', (100 - i - j), '匹。', sep='')

大马有:2匹,中马有:30匹,小马有:68匹。
大马有:5匹,中马有:25匹,小马有:70匹。
大马有:8匹,中马有:20匹,小马有:72匹。
大马有:11匹,中马有:15匹,小马有:74匹。
大马有:14匹,中马有:10匹,小马有:76匹。
大马有:17匹,中马有:5匹,小马有:78匹。
大马有:20匹,中马有:0匹,小马有:80匹。

Python Day4 循环关键字和练习【零基础】相关推荐

  1. python和循环语句_Python 小白零基础入门 -- 条件语句和循环语句

    Python 小白零基础入门 -- 条件语句和循环语句 点击上方 "Python 读数", 选择 "星标" 公众号 重磅干货, 第一时间送达 Python 零基 ...

  2. 零基础学python电子书-资料│最适合大学生零基础学的Python视频+电子书

    原标题:资料│最适合大学生零基础学的Python视频+电子书 月最热资源下载 (▲点击阅读) 已经不少童鞋跟播妞咨询了python的资源 今天播妞将整理好的部分python资源发布 是最适合零基础大学 ...

  3. python多久能找到工作_零基础自学Python多久可以找工作?

    零基础自学Python多久可以找工作?零基础自学3个月很难找到工作.如果全职学习Python的话,学习6个的时间,不一定能达到找到工作的水平,掌握项目经验还需要更久,达到企业需要的岗位要求还需要多练习 ...

  4. python从零基础到项目实战怎么样-Python 3.x网络爬虫从零基础到项目实战

    ● 案例完整 本书中的所有案例都是通过"理论讲解 + 环境搭建 + 完整代码及分析 + 运行结果"这种完善的结构进行讲解的.此外,复杂的案例配有项目结构图,有难度的案例还分析了底层 ...

  5. python的def语句_【零基础学Python】def语句,参数和None值

    像之前的print().input()和len()功能,Python提供了一些类似的内置函数,另外也可以自己编写自定义函数. 示例: def hello(): print('Howdy!') prin ...

  6. python做excel自动化视频教程-从零基础入门到精通用Python处理Excel数据视频教程...

    从零基础入门到精通用Python处理Excel数据视频教程 1.从零基础开始用python处理Excel数据 1-1 什么是python.mp4 1-2 为什么要学习用Python处理Excel表格. ...

  7. 自学python需要下载什么软件-一个零基础学习Python应该知道的学习步骤与规划

    原标题:一个零基础学习Python应该知道的学习步骤与规划 很多初学Python的同学都面临着很多的疑问,在之前的文章中我大致的很多问题我已经进行了讲解,无论你是编程零基础.数学,英语不错.还是说没有 ...

  8. python是什么编程教程-编程零基础应当如何开始学习 Python?

    刚开始一定是从基础开始,下面是一些基础部分的知识点:环境变量的安装与配置 Python的变量:数字.字符串.字典.列表.元组 流程控制:程序执行顺序.顺序执行.选择执行.循环执行 函数:函数定义.函数 ...

  9. 零基础轻松学python pdf 小码哥_零基础轻松学Python

    零基础轻松学Python电子书 Python之父Guido van Rossum力荐的Python门书.本书以通俗易懂的语言.好玩有趣的案例让读者轻轻松松.循序渐地从零始掌握Python 3 编程.本 ...

  10. python课程思维导图_零基础Python学习思维导图,记得收藏

    原标题:零基础Python学习思维导图,记得收藏 本文主要涵盖了 Python 编程的核心知识(暂不包括标准库及第三方库). 1.按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字 ...

最新文章

  1. 给 C# 代码动态着色的 JavaScript 脚本
  2. 打印机支持打印html页面吗,vue下调用打印功能,打印html页面
  3. 深度学习85—[深度学习] 感知器
  4. firefox 复制文本js代码。判断窗口是关闭还是刷新
  5. 航空机票预订c#代码_航空公司座位预订问题的C ++程序
  6. iframe内容适应div大小_使用lt;iframegt;方式在WordPress中插入视频并自适应屏幕尺寸
  7. Brownie Slicing(二分枚举答案)
  8. 软件测试Homework03
  9. PyCharm安装LabelImg
  10. 开发管理·华为IPD
  11. win7局域网ip切换工具内网外网多网段切换工具分享教程
  12. 浪潮存储助力方特动漫为《熊出没-狂野大陆》动物角色披上“动感毛发”
  13. 号外号外!兹有第一届区块链技术及应用峰会(BTA)·中国热点议题新鲜出炉,首轮盘点先睹为快...
  14. P4556 雨天的尾巴 线段树合并
  15. asp.net 获得根文件夹在服务器上物理路径,asp.net获取网站目录物理路径示例
  16. aardio 模拟键盘按键,实现msgbox对话框自动关闭
  17. 怎么剪切音频的一部分 去掉音频中的某段内容
  18. -[XXXX encodeWithCoder:]: unrecognized selector sent to instance 0x12d931d10
  19. 深度学习基础之优化器(optimizer)的介绍
  20. 6代u笔记本完美支持win7_华硕飞行堡垒六代笔记本安装win7系统的操作教程

热门文章

  1. java生成word文件带上页码,使用apache poi api创建Word文档时,如何以Y的X格式添加页码?...
  2. 23 期-原文 6.30
  3. PDF文件怎么加密?这两种加密方法很靠谱
  4. 推荐双11书单,我们一起共读 36 + 1 本书
  5. nas存储用网线直连服务器,NAS将存储设备通过标准的网络拓扑结构连接,无需服务器直接上网...
  6. 《变量——本土时代的生存策略》(2021-2049)何帆/著 读后感
  7. python找出连续的最长的字母串
  8. 警告记录 - [Timing 38-316] Clock period ‘10.000‘
  9. 监听TCP端口号:从简单Socket到NIO到Netty
  10. 【DDR3_Electrical Characteristics and AC Timing】_ Setup,Hold and Slew Rate Derating