痴月熊学Python

文章目录

  • 痴月熊学Python
    • 往期文章
  • 前言
  • 一、why 循环
  • 二、for循环的基本使用
    • 2.1、语法格式
    • 2.2、使用for循环遍历列表
    • 2.3、使用range函数创建列表
  • 三、for循环的嵌套
    • 3.1、for循环嵌套if语句。
    • 3.2、for循环使用else语句
    • 3.3、for嵌套for
  • 四、while循环
    • 4.1、while的语法格式
    • 4.2、while应用于计算
    • 4.3、猜数字小游戏
    • 4.4、使用while嵌套打印99乘法表(真)
  • 五、控制循环
    • 5.1、break终止循环
    • 5.2、continue
  • 总结
  • 传送门

往期文章

第一章:Python-新人报道
第二章:小学生都会的数学计算,痴月熊学Python
第三章:变量-从此你就叫张三了!,痴月熊学python
第四章:神奇的变身器-转义字符(改),痴月熊学python
第五章:稍息!立正!——print格式化输出,痴月熊学python
第六章:小学生不一定会的运算,痴月熊学python
第七章:考了多少分啊孩子,痴月熊学python
第八章:数据结构四兄弟——列表(上),痴月熊学python
第九章:数据结构四兄弟——列表(下),痴月熊学python

前言

hello,今天又和大家见面了。哇阅读量越来越少了,就离谱!上一章的列表也讲完了,那今天这章必须得讲循环了。不过阅读量越来越少了,就离谱!上一章的列表也讲完了,那今天这章必须得讲循环了。不过阅读量越来越少了,就离谱!上一章的列表也讲完了,那今天这章必须得讲循环了。不过阅读量越来越少了,就离谱!上一章的列表也讲完了,那今天这章必须得讲循环了。不过阅读量越来越少了,就离谱!上一章的列表也讲完了,那今天这章必须得讲循环了。不过… …
提示:以下是本篇文章正文内容,下面案例可供参考

一、why 循环

刚刚不小心陷入循环了,还好我给痴月熊的文章三连了,不然差点出不来。循环就是不停的去执行同一个操作,所以所为啥要去循环呢。python的循环语句分为两种:for语句和while语句。for循环和while循环的区别说白了,就是for你让它循环几次就循环几次,while则是一直循环。while语句你写一个让它一直循环,只要条件一直是真的,终有一天你的电脑会嗝屁的。所以为啥要去循环呢,肯定是有些东西一个一个写出来比较麻烦啊。所以说人类为了偷懒还是会进步的。刚好上一章学会了列表,for循环经常用作遍历某个容器,就比如列表。while看要一直循环的环境需求,不过也是会停止的,只要条件为假,或者你手动停了。

二、for循环的基本使用

2.1、语法格式

for i in (可迭代对象)循环体

这就是for循环的语句格式了。你可以把这堆东西这么理解:for循环可迭代对象,把每次从可迭代对象里循环出来的值赋给i,然后再执行循环体。

2.2、使用for循环遍历列表

那我们上面提到了for循环可以用来遍历列表,那我们具体如何遍历呢。看下面代码:

list = ["a","b","c","d"]
for i in list:print(i)RUN:
a
b
c
d

代码执行过程:
定义一个列表list
把list的第一个元素赋给 " i "(i = a),然后打印 " i "
再次循环回list,把list第二个元素赋给 " i "(i = b) ,然后打印 " i "
再次循环回list,把list第三个元素赋给 " i " (i = c),然后打印 " i "
再次循环回list,把list第四个元素赋给 " i "(i = d) ,然后打印 " i "
再次循环回list,发现list里面没有更多的元素了,循环结束。

2.3、使用range函数创建列表

range函数的作用是生成一个等差序列。等差序列都知道是啥吧,不知道的这里我提一下。一个序列从第二项起,每一项与它的前一项的差等于同一个常数,这就叫等差序列。range函数的使用方式默认是从0开始,比如你写一个range(5),那它就会从0开始一直到(5-1)。range(5):0,1,2,3,4 ## range(1,5):1,2,3,4 ## range(3,7):3,4,5,6. 现在我们结合for使用下range:

for i in range(6)print(i)RUN:
0
1
2
3
4
5

我还可以把range打印出来的数字放在一个列表里。我们可以先定义一个空列表,然后将循环打印的数值追加到原列表中。

list = []
for i in range(3,7):list.append(i)print(list)RUN:
[3,4,5,6]

三、for循环的嵌套

3.1、for循环嵌套if语句。

for i in range(0,4):if i < 2:print(f"元素{i}小于2")elif i > 2:print(f"元素{i}大于2")else:print(f"元素{i}")RUN:
元素0小于2
元素1小于2
元素2
元素3大于2

3.2、for循环使用else语句

没想到吧,for循环竟然还可以使用else。else的作用可以当做整个代码块的最后一次循环,上面不管循环了多少次,只要上面不循环了,就去执行else。这里也很简单,看一下代码就理解了:

for i in range(0,4):if i < 2:print(f"元素{i}小于2")elif i > 2:print(f"元素{i}大于2")else:print(f"元素{i}")
else:print("循环结束")RUN:
元素0小于2
元素1小于2
元素2
元素3大于2
循环结束

这里一定要看好嵌套的语法缩进,虽然有两个else,不过第一个只属于小循环,第二个则是循环后。

3.3、for嵌套for

for循环可以嵌套if语句,当然也可以嵌套for语句。这里就使用for套for写一个99乘法表:

for i in range(1,10):for j in range(1,10):print("%d * %d = %3d "%(i,j,i*j),end=" ")if j == 9 :print("\n")RUN:
1 * 1 =   1  1 * 2 =   2  1 * 3 =   3  1 * 4 =   4  1 * 5 =   5  1 * 6 =   6  1 * 7 =   7  1 * 8 =   8  1 * 9 =   9  2 * 1 =   2  2 * 2 =   4  2 * 3 =   6  2 * 4 =   8  2 * 5 =  10  2 * 6 =  12  2 * 7 =  14  2 * 8 =  16  2 * 9 =  18  3 * 1 =   3  3 * 2 =   6  3 * 3 =   9  3 * 4 =  12  3 * 5 =  15  3 * 6 =  18  3 * 7 =  21  3 * 8 =  24  3 * 9 =  27  4 * 1 =   4  4 * 2 =   8  4 * 3 =  12  4 * 4 =  16  4 * 5 =  20  4 * 6 =  24  4 * 7 =  28  4 * 8 =  32  4 * 9 =  36  5 * 1 =   5  5 * 2 =  10  5 * 3 =  15  5 * 4 =  20  5 * 5 =  25  5 * 6 =  30  5 * 7 =  35  5 * 8 =  40  5 * 9 =  45  6 * 1 =   6  6 * 2 =  12  6 * 3 =  18  6 * 4 =  24  6 * 5 =  30  6 * 6 =  36  6 * 7 =  42  6 * 8 =  48  6 * 9 =  54  7 * 1 =   7  7 * 2 =  14  7 * 3 =  21  7 * 4 =  28  7 * 5 =  35  7 * 6 =  42  7 * 7 =  49  7 * 8 =  56  7 * 9 =  63  8 * 1 =   8  8 * 2 =  16  8 * 3 =  24  8 * 4 =  32  8 * 5 =  40  8 * 6 =  48  8 * 7 =  56  8 * 8 =  64  8 * 9 =  72  9 * 1 =   9  9 * 2 =  18  9 * 3 =  27  9 * 4 =  36  9 * 5 =  45  9 * 6 =  54  9 * 7 =  63  9 * 8 =  72  9 * 9 =  81  

i = 1的时候,j =1,打印 1 * 1 = 1 (末尾空格)加上一个空格之后,j的循环会继续打印在同一行。等j循环到9的时候,触发if条件,j = 9,整体换行。然后继续从i = 2开始,j循环1到9,换行。i = 3…

四、while循环

4.1、while的语法格式

while 条件:循环体

while的格式就更简单了,你只需要给个条件,然后执行下面的代码就可以了。这里写个可以永久循环的代码。

a = 1
b = 2
while a != b:print("a居然不等于b")RUN:
a居然不等于b
a居然不等于b
a居然不等于b
a居然不等于b
a居然不等于b
....

首先定义了两个变量,a等于1,b等于2。然后写入一个循环条件a不等于b,那1本来也不等于2,所以它永远是真的,哪怕世界毁灭地球爆炸它也是真的。那它就会一直执行,直到电脑嗝屁了。

4.2、while应用于计算

while用来操作数字非常不错,比如求1 到 100 之间的和:

i = 1
a = 0
while i <=100:   a += ii +=1
print(f"1到100的总和为:{a}")RUN:
1到100的总和为:5050

i = 1:设置一个起始值
a = 0:这里我第一次想的时候没有写,但是他会报错找不到a变量,因为a += i 等于a = a + i。a也要一个起始值,a第一次等于i开始就对了。所以第一次写成了:

while i <=100:a = ia += ii +=1
print(f"1到100的总和为:{a}")

嗯,很明显有问题。每次循环都等于i,到最后就变成100 + 100了。所以一定要给a赋一个起始值0。
while i <=100:这里就是确保i的数值不超过100,因为起始值是1所以不会是负数啦。
a += i :a = a + i,相当于把每次i循环的值保留下来,新的i和旧的a相加成为新的a。
i += 1:新i = 旧i + 1这里则是一个自增长,每次循环结束数值都加1。你可以试试不加这个,我相信你会哭的。

4.3、猜数字小游戏

这里可以做一个猜数字的小游戏,大家可以自己去试试几次猜对吧。

import random    #导入random模块
a = random.randint(1,100)  #从1到100之间随机生成一个随机数赋值给a
guess = 0                  #写一个1-100以外的数字,使循环条件满足
while guess != a:          #0不在1-100之间所以条件满足,可以循环guess = int(input("请输入一个 1~100 之间的数字:")) #从新定义guess,使guess等于输入的数值if guess > a:         #给用户提示差距print("好大!")elif guess < a:print("真小~")else:print(f"针补戳,猜对啦。答案是{a} ")

4.4、使用while嵌套打印99乘法表(真)

i = 1
while i <=9:j = 1while j<=i:print("%d * %d = %3d "%(i,j,i*j),end=" ")j +=1print ('\n')i += 1RUN:
1 * 1 =   1  2 * 1 =   2  2 * 2 =   4  3 * 1 =   3  3 * 2 =   6  3 * 3 =   9  4 * 1 =   4  4 * 2 =   8  4 * 3 =  12  4 * 4 =  16  5 * 1 =   5  5 * 2 =  10  5 * 3 =  15  5 * 4 =  20  5 * 5 =  25  6 * 1 =   6  6 * 2 =  12  6 * 3 =  18  6 * 4 =  24  6 * 5 =  30  6 * 6 =  36  7 * 1 =   7  7 * 2 =  14  7 * 3 =  21  7 * 4 =  28  7 * 5 =  35  7 * 6 =  42  7 * 7 =  49  8 * 1 =   8  8 * 2 =  16  8 * 3 =  24  8 * 4 =  32  8 * 5 =  40  8 * 6 =  48  8 * 7 =  56  8 * 8 =  64  9 * 1 =   9  9 * 2 =  18  9 * 3 =  27  9 * 4 =  36  9 * 5 =  45  9 * 6 =  54  9 * 7 =  63  9 * 8 =  72  9 * 9 =  81

这回是正经的99乘法表了。
i = 1:竖列起始值1
while i <=9:保证i的范围是1-9
j = 1:横行起始值1
while j<=i:横行只循环小于等于i的,保证横列循环的范围不超过竖列数值。
print("%d * %d = %3d “%(i,j,i*j),end=” "):格式化输出
j +=1:横行数值自增长,还是满足不大于竖列数值
print (’\n’) :横行循环完毕换行,保证三角形
i += 1:竖列数值自增长

五、控制循环

5.1、break终止循环

一只循环的话,是有一点苦恼的。我想循环但又不想完全循环,要是在循环过程中能踩刹车就好了,今天它来了,有请我们帅气的break登场。break的作用就是跳出循环体,不需要等到循环条件为Flase的时候才结束。那具体什么场合会用到呢,比如在列表里我们查到自己想要的值得时候就可以停止了,不需要继续往后循环了。下面我写一个场景给大家展示一下break的作用:

print("麋鹿老师:索引位置在2和2之前的同学有哪些?")
list = ["智慧兔","迷彩羊","憨憨熊","大鸽","痴月熊"]
for i in list:print(f"{i}: 到!")if i == "憨憨熊":print("麋鹿老师:索引2和2之前的同学就这些")
RUN:
麋鹿老师:索引位置在2和2之前的同学有哪些?
智慧兔: 到!
迷彩羊: 到!
憨憨熊: 到!
麋鹿老师:索引2和2之前的同学就这些
大鸽: 到!
痴月熊: 到!

首先我们先不加break看了下效果,我们的需求是到索引2的时候就可以停了,但是现在已经过了憨憨熊那里,还是有同学在点到。下面再看一下加了braek:

print("麋鹿老师:索引位置在2和2之前的同学有哪些?")
list = ["智慧兔","迷彩羊","憨憨熊","大鸽","痴月熊"]
for i in list:print(f"{i}: 到!")if i == "憨憨熊":print("麋鹿老师:索引2和2之前的同学就这些")breakRUN:
麋鹿老师:索引位置在2和2之前的同学有哪些?
智慧兔: 到!
迷彩羊: 到!
憨憨熊: 到!
麋鹿老师:索引2和2之前的同学就这些

这回可以看到,一直到憨憨熊之后,就没有继续往下循环了。这样大概就能看清楚break的作用了吧。

5.2、continue

print("麋鹿老师:今天来的同学达个到")
list = ["智慧兔", "迷彩羊", "憨憨熊", "大鸽", "痴月熊"]
for i in list:if i == "大鸽":continueprint(f"{i}: 到!")print("麋鹿老师:今天大鸽同学没来啊")RUN:
麋鹿老师:今天来的同学达个到
智慧兔: 到!
迷彩羊: 到!
憨憨熊: 到!
痴月熊: 到!
麋鹿老师:今天大鸽同学没来啊

同学们要自己照着敲一遍,可看仔细了这回的if和上面的if可不在一个位置。这下大家应该可以看出来continue的作用了,break是跳出整个循环,continue则是停止当前的循环,本次循环后面的东西就不输出了,之后继续执行后面的循环。

总结

我一而再三的思索,我决定还是写成一章好了。还有上面放那么多往期文章的链接,看起来很杂。于是我单独弄出一个地方专门用来看往期文章的。还有算上这章刚好10章,我就把这些东西归类到s1了。诶嘿嘿针不戳,以后大家想看往期文章直接去传送门。这次我就放在下面,以后我都会放在顶部。找文章看着也比较清晰。拜拜·

传送门

痴月熊学python往期文章传送门

第十章:大鸽同学在哪里?痴月熊学python相关推荐

  1. 第九章:数据结构四兄弟——列表(下),痴月熊学python

    痴月熊学Python 文章目录 痴月熊学Python 往期文章 前言 一.对象.方法() 二.列表方法 2.1.列表内置函数 2.2.列表追加元素 2.3.列表插入元素 2.4.列表删除元素 三.列表 ...

  2. 第五章:稍息!立正!——print格式化输出,痴月熊学python

    痴月熊学Python 文章目录 痴月熊学Python 往期文章 前言 一.f-String格式化 二.占位符 三.format格式化 总结 系列文章 往期文章 第一章:Python-新人报道 第二章: ...

  3. 第四章:神奇的变身器-转义字符,痴月熊学python

    痴月熊学Python 文章目录 痴月熊学Python 往期文章 前言 一.什么是ASCII代码 二.转义字符 三.转义序列 四.练习 1.转义符号应用 总结 系列文章 往期文章 第一章:Python- ...

  4. 第六章:小学生不一定会的运算,痴月熊学python

    痴月熊学Python 文章目录 痴月熊学Python 往期文章 前言 一.算术运算 二.比较运算 三.赋值运算 四.逻辑运算 五.成员运算 六.身份运算 总结 系列文章 往期文章 第一章:Python ...

  5. 第八章:数据结构四兄弟——列表(上),痴月熊学python

    痴月熊学Python 文章目录 痴月熊学Python 往期文章 前言 一.创建列表 二.读取列表 三.删除和修改元素 总结 系列文章 往期文章 第一章:Python-新人报道 第二章:小学生都会的数学 ...

  6. 第七章:考了多少分啊孩子,痴月熊学python

    痴月熊学Python 文章目录 痴月熊学Python 往期文章 前言 一.if语句 二.if 和else 三.if...elif...else 四.if嵌套 总结 系列文章 往期文章 第一章:Pyth ...

  7. 第三章:从此你就叫张三了!-变量,痴月熊学python

    痴月熊学Python 文章目录 痴月熊学Python 往期文章 前言 一.何为变量 二.练习 1.赋值练习 2.使用变量完成对话 总结 系列文章 往期文章 第一章:Python-新人报道 第二章:小学 ...

  8. 太大如何翻页固定表头_外行学 Python 爬虫 第六篇 动态翻页

    前面几篇文章,初步完成了从网络请求.数据解析.数据存储的整个过程,完成了一个爬虫所需的全部功能.但是通过对数据库中数据的分析会发现数据库中的元件数量比网站上的元件数量少了很多.前面的实现过程通过解析网 ...

  9. 给小白的礼物,菜鸟学Python入门教程大盘点

    最近很多人在后台跟我留言,问了一些关于如何入门Python的问题,很多都是非常基础的问题,最近特别密集!公众号又不支持搜索文章的功能.其实我写了一年多,里面有很多关于入门的文章,今天把这些链接再次总结 ...

最新文章

  1. 神经正切核,深度学习理论研究的最新热点?
  2. Python天天美味(13) - struct.unpack
  3. Eclipse内存分析工具的用法
  4. 邻值查找—算法进阶指南
  5. php mysql.dll 下载_php_mysql.dll下载|
  6. AS打开卡住、一直加载的问题
  7. SNS网站中怎样获取MSN联系人信息
  8. fastdfs原理简析
  9. 孔夫子旧书网接口:实现输入ISBN获取图书信息
  10. 【ArcGIS风暴】ArcGIS支持的栅格数据格式大全及格式转换案例精解
  11. 中国大陆身份证号码有效性验证
  12. 2021.07.29 Oracle学习笔记 2
  13. VUE启动报错:Error: The project seems to require yarn but it‘s not installed
  14. PyTorch学习笔记
  15. 关于环境变量 C++ include搜索路径,lib库搜索路径
  16. 办公室计算机购置申请,关于办公室购置电脑的请示
  17. Pandas 时间序列 - 实例方法与重采样
  18. 叮咚上市,我的前同事挣了1个亿!
  19. 织梦dedecms自定义功能函数(3):用mid调用会员名称或头像
  20. 梦幻西游H5私服服务端超详细图文架设教程

热门文章

  1. 硬件工程师必须牢记的十点总结
  2. shell终端多目录间快速cd工具
  3. 中宣部防沉迷实名认证系统对接实例-JAVA版
  4. 飞凌嵌入式助力智慧医疗,解析i.MX8M M在麻醉系统中的应用方案
  5. centos6.4下安装fetion
  6. 2023中国海洋大学计算机考研信息汇总
  7. Vue 3 技术揭秘
  8. 2017.10.16 装箱和拆箱﹑火星车的升级
  9. 【分享】QY-IMX8M主板简介
  10. while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directo