五。循环结构

1.内置函数 range函数

  • range的三种创建方式

    1. 只有一个参数(小括号中只给了一个数)

      r=range(10)   #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]   ,默认从零开始,默认相差一称为步长
      print(r)  #range(0,10)
      print(list(r))#可以用于查看range对象中的整数序列  --list列表2. 给了两个参数(小括号中给了两个数)
      
  1. 给了两个参数(小括号中给了两个数)

    r=range(1,10)  #指定起始值,从一开始,到十结束(不包含十),默认步长为一
    print(r)  #range(1,10)
    
  2. 给了3个参数(小括号中给了3个数)

    r=range(1,10,2)
    print(list(r))    #[1, 3, 5, 7, 9]
    '''判断指定的的整数 在序列中是否存在  in ,not in'''
    print(10 in r)  #False
    print(9 in r)  #True
    

2.while 循环

  • 计算0到n之间的累加和
n=int(input())
a=0
sum=0#用于存储累加和
while(a<n):a=a+1sum=sum+a
print(sum)
  • 计算0到n之间的偶数累加
# eg 1
n=int(input())
a=0
sum=0#用于存储累加和
while(a<n):a=a+2sum=sum+a
print(sum)
# eg 2
n=int(input())
a=0
sum=0#用于存储累加和
while(a<n):a = a + 1if not bool(a%2):sum=sum+a
print(sum)

3.for-in循环

pythonfor item in 'Python' :  #第一次取出的是p,将p赋值给item,并将其输出print(item)'''P
y
t
h
o
n
'''
for i in range(1,10,2):print(i)'''1
3
5
7
9
'''

如果在循环体中不需要使用自定义变量,可将自定义变量写为”_“

for _ in range(5):print('人生苦短,我用python')'''人生苦短,我用python人生苦短,我用python人生苦短,我用python人生苦短,我用python人生苦短,我用python'''
print('计算一到一百的偶数和')
sum=0
for i in range(1,101):if i%2==0:sum=sum+iprint(sum)  #结果2550

输出100到999之间的水仙花数

for i in range(100,1000):b=i//100s=i//10%10g=i%10if i==b**3+s**3+g**3:print('水仙花数为'+str(i)+'')
'''153 为水仙花数
370 为水仙花数
371 为水仙花数
407 为水仙花数'''

4.流程控制语句break

从键盘录入密码,最多录入三次,如果正确,就退出循环(for in)

for item in range(3):pwd=input('请输入密码')if pwd=='1234':printf('密码正确')breakelse:print('密码不正确')

从键盘录入密码,最多录入三次,如果正确,就退出循环(while)

a=0
while a<3:pwd=input('请输入密码')if pwd=='1234':print('密码正确')breakelse:print('密码不正确')

5.流程控制语句continue

要求输出1到n之间所有5的倍数

n=int(input())
for item in range(1,n+1):if item%5==0:print(item)else:continue
n=int(input())
for item in range(1,n+1):if item%5!=0:continueelse:print(item)

6.else语句

for item in range(3):pwd=input('请输入密码')if pwd=='8888':print('密码正确')else:print('密码错误')
else:print('对不起,三次输入密码错误')
a=0
while a<3 :pwd=input('请输入密码')if pwd=='8888':print('密码正确')else:print('密码错误')a=a+1
else:print('对不起,三次输入密码错误')

7.嵌套循环

for i in range(1,10):for j in range(1,i+1):print(''+str(i)+'*'+str(j)+'='+str(i*j)+'',end='\t')  print()
'''
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 '''
for i in range(6):for j in range(0,10-i):print(end=" ")for j in range(10-i,10):print('*',end=' ')   #end=‘ ’不换行输出print('')                #换行
'''* * * * * * * * * * * * * * * '''

8.二重循环中的break和continue

for i in range(5):for j in range(1,11):if j%2==0:breakprint(j,end='')print( )
'''11111
'''
for i in range(5):for j in range(1,11):if j%2==0:continueprint(j,end='')print( )
'''
1  3  5  7  9
1  3  5  7  9
1  3  5  7  9
1  3  5  7  9
1  3  5  7  9
'''

总结

六,列表

1.列表start

a=10 #变量存储一个对象的引用
lst=['hello','56','hcj']#存储多个对象的引用
print(id(lst))
print(type(lst))
print(lst)

2.列表的创建

  • 列表的第一种创建方式,使用 []
lst=['hello','world','hcj']
print(lst)
  • 列表的第二种创建方式,使用使用内置函数list()
lst2=list(['hello','world','hcj'])
print(lst2)

3.列表的特点

  • 索引映射唯一一个数据

    lst=['hello','world',23,'hcj']
    print(lst[1],lst[-1])
    # world      hcj
    

​ **注意 ** 从前往后正数,从后往前负数

4.列表的查询操作

+ 获取列表中指定元素的索引

lst=['hello','world','hcj','hello']
print(lst.index('hello'))#如果列表中有相同的元素只返回列表中相同元素的第一个元素的索引
#   0
print(lst.index('hcj'))
#   2
print(lst.index('tn'))''' 报错 raceback (most recent call last):File "D:\编码\pythonProject\main.py", line 4, in <module>print(lst.index('tn'))alueError: 'tn' is not in list'''
print(lst.index('hello',1,4))
#  3

+ 获取列表中的单个元素

lst=['hello','hcj','python','tn']
print(lst[3])
#  tn
print(lst[-1])
#  tn

+ 获取列表当中的多个元素

lst=['hello','hcj','python','tn']
print(lst [1:3:1])       #步长为一
#  ['hcj', 'python']lst=['hello','hcj','python','tn']
print(lst [1:4:2])       #步长为二
#  ['hcj', 'tn']lst=['hello','hcj','python','tn']
print(lst [:4:3])       #默认从0开始
#  ['hello', 'tn']lst=['hello','hcj','python','tn']
print(lst [1:4:])       #默认步长为1
#  ['hcj', 'python', 'tn']lst=['hello','hcj','python','tn']
print(lst [1::2])       #默认到最后结束
#  ['hcj', 'tn']print('--------step 步长为负数--------')
print('原列表',lst)
print(lst[3::-1])
'''原列表 ['hello', 'hcj', 'python', 'tn']['tn', 'python', 'hcj', 'hello']
'''

+判断指定元素在列表中是否存在及遍历

print('------in和not in--------')
lst=['hello','hcj','python','tn',10,20]
print(10 in lst)      #True
print(10 not in lst)  #Falseprint('------for in--------')
for item in lst:print(item,end='  ')
#  hello  hcj  python  tn  10  20
```!### 5.列表元素的增删操作####   + 元素增加[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IKKLkBf0-1639395454600)(C:\Users\hcj\AppData\Roaming\Typora\typora-user-images\image-20211129211612737.png)]```python
lst=['hello','hcj','python','tn',10,20]
print('添加之前',lst)#添加之前['hello', 'hcj', 'python', 'tn', 10, 20]
lst.append(100)
print('添加之后',lst)#添加之后['hello', 'hcj', 'python', 'tn', 10, 20, 100] lst2=[1,2]
lst.extend(lst2)
print('添加之后',lst)#添加之后 ['hello', 'hcj', 'python', 'tn', 10, 20, 1, 2]
'''extend 可将列表化为元素加到后面 append将列表直接加入到后面eg  lst.append(lst2)print('添加之后',lst)['hello', 'hcj', 'python', 'tn', 10, 20, [1, 2]] '''lst.insert(1,5)
print('添加之后',lst)   #['hello', 5, 'hcj', 'python', 'tn', 10, 20]lst2=[1,2]
lst[1:]=lst2
print('添加之后',lst)  #['hello', 1, 2]
'''start决定从哪切stop决定切到哪'''

+ 列表元素的删除操作

lst=[10,20,30,5,6,8,30]
lst.remove(30)
print(lst)
#  [10, 20, 5, 6, 8,30]lst=[10,20,30,5,6,8]
lst.pop(2)
print(lst)
#  [10, 20, 5, 6, 8,30]
lst=[10,20,30,5,6,8,30]
lst.pop()  # 默认删除倒数第一个
print(lst)
#  [10, 20, 30, 5, 6, 8]lst=[10,20,30,5,6,8,30]
lst2=[1,2,3,4]
lst[2:]=lst2
print(lst)
# [10, 20, 1, 2, 3, 4]lst.clear()
print(lst)
# []del lst
print(lst)
'''报错
NameError: name 'lst' is not defined.
'''

+列表元素的修改操作

lst=[1,2,3,4]
#一次修改一个值
lst[2]=10
print(lst)
#  [1, 2, 10, 4]lst[1:3]=[30 ,40 ,50]
print(lst)
#  [1, 30, 40, 50, 4]

+ 列表元素的排序操作

lst=[1,10,20,30,5,6]
print('输出前的列表',lst,id(lst))
lst.sort()
print('排序后的列表',lst,id(lst))
'''输出前的列表 [1, 10, 20, 30, 5, 6] 2433745549632排序后的列表 [1, 5, 6, 10, 20, 30] 2433745549632
'''print('排序后的列表',lst,id(lst))
lst.sort(reverse= True)
#   reverse=True表示降序排序,reverse=False就是升序排序
print(lst)
#   [30, 20, 10, 6, 5, 1]print('-----使用内置函数sorted()对列表进行排序,将产生一个新的列表对象---------')
lst=[10,2,30,4,50,6]
print('原列表',lst)
#开始排序
new_list=sorted(lst)
print(lst)
print(new_list)
'''原列表 [10, 2, 30, 4, 50, 6][10, 2, 30, 4, 50, 6][2, 4, 6, 10, 30, 50]
'''
#     指定关键字参数,实现列表元素的降序排序
new_list=sorted(lst,reverse=True)
print(new_list)
#     [50, 30, 10, 6, 4, 2]

6. 列表生成式

]

lst=[ i for i in range(1,10)]
print(lst)
#  [1, 2, 3, 4, 5, 6, 7, 8, 9]lst=[ i+i for i in range(1,10)] # i+i 表示列表的表达式
print(lst)
#  [2, 4, 6, 8, 10, 12, 14, 16, 18]

总结


参考视频:
https://www.bilibili.com/video/BV1wD4y1o7AS?spm_id_from=333.999.0.0

python课程知识点总结(循环结构~列表)(0基础学习,后持续更新)相关推荐

  1. Python入门之控制结构 - 循环结构

    Python入门之控制结构 - 循环结构 第1关:While循环与break语句 第2关:for循环与continue语句 第3关:循环嵌套 第4关:迭代器 第1关:While循环与break语句 · ...

  2. 循环结构c语言乘电梯,C语言程序设计循环结构之“四要素学习法”

    摘要:C语言程序设计中循环结构是顺序.选择.循环三大基本结构之一,功能强大,使用灵活方便,但是学生学习难度比较大.该文以累加和为切入点深入分析循环结构特点,总结出循环结构"四要素学习法&qu ...

  3. 0基础学python做什么工作好-写给0基础小白:Python能干什么?就业前景好不好?怎么开始学?...

    原标题:写给0基础小白:Python能干什么?就业前景好不好?怎么开始学? 今天,我们深度了解一下Python这门语言,它到底是什么,都能用来干什么,为什么这么火? 首先,普及一下编程语言的基础知识. ...

  4. python 内存溢出能捕获吗_从0基础学习Python (19)[面向对象开发过程中的异常(捕获异常~相关)]...

    从0基础学习Python (Day19) 面向对象开发过程中的=>异常 什么是异常 ​ 当程序在运行过程中出现的一些错误,或者语法逻辑出现问题,解释器此时无法继续正常执行了,反而出现了一些错误的 ...

  5. 从0基础学习Python(13)[面向对象思想]

    从0基础学习Python (Day13) 面向对象思想 1.面向对象编程介绍 面向对象 概述 ​ 目前软件开发技术中两种主流思想:面向过程.面向对象 ​ 面向过程思想出现较早,C语言 ​ 面向对象思想 ...

  6. 日语课程0基础学习笔记——第一课

    学习目标: 编程0基础学习笔记--前言 这是一个个人使用的日语学习记录博客!根据B站的up日语教程一直跟下来,从第一天开始记录.后续会把我学习的内容和知识点尽量多的记录在这个博客中,不仅是方便自己复习 ...

  7. 有c语言基础学python容易吗_学习Python需要先学C语言吗?0基础学Python难度大吗?

    今天小编要跟大家分享的文章是关于学习Python需要先学C语言吗?0基础学Python难度大吗?想要学习或者了解Python相关知识就来和小编一起看一看本篇文章吧! 1.学Python需要先学C语言吗 ...

  8. 2023 Data数据分析岗前景如何?0基础学习数据分析成功上岸,3个月掌握令人惊叹的sql能力!...

    Date数据分析师的发展路线! 从事数据分析相关工作,按职业发展方向大致分为两类. [1]业务路线:业务分析--数据分析师--部门leader--管理高层 一般在大中型企业为业务持续增长带来价值,比如 ...

  9. python内置函数系列之set(一)(持续更新)

    python内置函数系列之set(一)(持续更新) 查看python中set介绍(ctrl + 鼠标左键): 有如下介绍: """set() -> new empt ...

  10. 全景丨0基础学习VR全景制作,平台篇第13章:热点功能-总览介绍

    全景丨0基础学习VR全景制作,平台篇第13章:热点功能-总览介绍 大家好,欢迎观看蛙色VR官方--后台使用系列课程! 一.热点功能概览 热点,指在全景作品中添加各种类型图标的按钮,引导用户通过按钮产生 ...

最新文章

  1. PHP 作为SocketClient发送字节数组
  2. 梵高:每个人心中都有一团火,而路过的人只看到了烟
  3. 【查看hadoop镜像】
  4. Extjs Window用法详解 2 打印具体应用
  5. 序列化和反序列化的概述
  6. thinkphp3.23开发的“二当家的”官网
  7. 傅里叶变换公式_理解1维傅里叶变换
  8. 线性代数知识荟萃(4)——矩阵相抵
  9. 头歌平台-人工智能之AlphaBeta剪枝算法
  10. html5画布动态时钟,HTML5之canvas绘制动态时钟
  11. 七周成为数据分析师 第七周:Python
  12. java.net.ServerSocket详解
  13. Linux 必知必会
  14. 第一天python学习打卡
  15. 用MATLAB做周期三角波的傅里叶级数,Matlab 周期方波信号傅里叶级数展开
  16. 条件判断————8.判断闰年
  17. 牛客网wannafly挑战赛13-E(线段树)
  18. 关于SX1262IMLTRT、SX1261、SX1268选型指南分析对比
  19. 系统无法停止通用卷解决方法
  20. 研究生生活的回顾和感悟

热门文章

  1. Linux系统病毒防治
  2. android 内核调整工具,内核调谐器(Kernel Tuner)手机工具 for android v4.4.8 安卓版
  3. asp一句话木马原理
  4. c语言最弱智的游戏,大行其道的“弱智”游戏
  5. 十二时辰篇:这该死的 996
  6. Blender 2.9
  7. 计算机的随想作文500字,新年随想作文500字(通用5篇)
  8. QRCode资料收集
  9. Java如何计算年龄
  10. 诺基亚升级Android10,诺基亚发布第五次Android 10更新 ,诺基亚7+可升级