Python循环和列表

本文详细介绍了Python中的循环结构,包括while循环和for循环,以及它们的使用技巧,如while-else和for-else。同时,文章讲解了如何判断质数,并展示了循环嵌套的实例。此外,文章还深入探讨了列表这一数据结构,包括列表的定义、索引、切片、拼接、赋值和遍历等操作,适合初学者掌握Python基本语法。
摘要由CSDN通过智能技术生成

循环和列表

一 while循环

1 while —else格式
while 条件:
    重复执行的代码(一行或多行代码)
else:
    条件不满足时执行此处代码
    
结论:如果while中执行了break语句,那么else就不执行,反之,就执行。

练习:判断质数

# 判定一个数字是否为质数(质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。)
分析:
num = 7   7/2   7/3 ...  7/6  7就是质数 
	

# 判定一个数是否为质数
num = int(input("请输入一个正整数:"))

i = 2
while i < num:
    if num % i == 0:
        print(num,"不是质数")
        break
    i += 1
else:
    print(num,'是质数')
   

循环结束的两种方式:

  • 根据判定条件不成立,结束
  • 通过break关键字强制结束循环
2 循环嵌套 --while 嵌套

案例:嵌套过程

# 输出一行 * * * * * *
i = 0
while i<6:
    print("*",end=" ")
    i += 1
    
    
# 输出如下图形:
"""
* * * * * *
* * * * * *
* * * * * *
"""
i = 0
while i<6:
    print("*",end=" ")
    i += 1
print()
    
i = 0
while i<6:
    print("*",end=" ")
    i += 1
print() 

i = 0
while i<6:
    print("*",end=" ")
    i += 1
print() 



# 优化成使用while循环嵌套实现
j = 0
while j<3:
    i = 0
    while i<6:
        print("*",end=" ")
        i += 1
    print() 
    j += 1
    
   

二 for 循环

for 变量 in 可迭代对象:
    重复执行的代码    
1 range使用
range(start,stop,step)  # 帮助构造一个从start到stop结束,步长为step的一个数列
start:起始值,包含在内,可以省略,默认为0。
stop:结束位置,不包含在内,不可省略。
step:步长,可以省略,默认为1next = cur+step
    
补充:如果显式的写出了步长,那么start就不能省略。
    
# 构造一个从[1,10]的数列
range(1,11) 

# 打印[1,10]
for i in range(1,11):
    print(i)
       
# 从[0,100]的所有偶数
range(0,101,2)  # 正确
range(101,2)  # 错误

# 构造一个从[100,1]的所有数
range(100,0,-1)  

# 构造一个从[100,1]的所有奇数
range(99,0,-2)
2 for—else
# 使用for循环,判断一个数是否为质数
num = int(input("请输入一个数字:"))
for i in range(2,num):
    if num % i == 0:
        print("不是质数")
        break
else:
    print("是质数")
总结:

一般情况下,二种方式都可以实现

  • for循环:主要用于迭代一个对象或明确循环次数
  • while循环:不确定循环次数,或者已知是一个条件的话

三 列表(list)

场景:记录全班所有人的名字

name1 = 'zs'
name2 = 'ls'
name3 = 'ww'
name4 = 'ml'
存在的问题:多个值需要用到多个变量,且多个变量之间没有直接关系,使用不方便
(一) 定义

定义:列表是一个可修改的,元素以逗号分割,以中括号包围有序序列

特点:可变的,中括号包围 ,有序,序列。

格式:列表名 = [item1,item2,item3..]

序列一定是可迭代对象

练习:记录全班人的姓名

names = ['zs','ls','ww','ml']  
ages = [20,25,30,23]
height = [180,175,188,176]
print(names)

type(names)  #  list

使用: 列表一般用于存放同种类型的数据。记录多个对象的同一个信息。

( 二 )序列操作
1 索引

索引:下标,给序列中每个元素编号

作用:通过索引方式查看元素

格式:列表名[索引值]

编号方式:

  • 从左到右(正向):从0开始,逐渐递增,最大索引值:长度-1
  • 从右到左:从-1开始,逐渐递减,最小索引值是:-长度
# 通过索引查看元素
names = ['zs','ls','ww','ml']  

# 查看ww
print(names[2])
print(names[-2])

# 索引值要在正确范围内
print(names[8])  # 报错 
2 切片

注意:切片将序列拷贝,操作的是拷贝对象,不是原序列。

作用:一次获取多个元素

格式:列表名[start:stop:step]

  • start :起始位置,包含在内,可省略,默认为第一个元素
  • stop :结束位置,不包含在内,可省略,默认为最后一个元素。
  • step:步长,可省略,默认为1,正数表示从左到右顺序,负数从右到左顺序
# 通过索引查看元素
age= [1,5,1,4,8,9,10,6]  

# 将ls和 ww 取出来
age[1:3:1]  # [5,1]

# 
age[:1]    # [1]
age[1:]    # [5,1,4,8,9,10,6]
age[1:6:2]  #  [5,4,9]
age[::1]    # 等价于 age[::],age[:]   [1,5,1,4,8,9,10,6]  

age[-3:-1]   # [9,10]
age[3:1:-1]  # [4,1]


# 将age倒序
age[::-1]  #
 
print(age)  # 不影响原列表
3 拼接(+)和重复(*)
l1 = [1,2]
l2 = [3,4]

# 将两个列表合并
l3 = l1 + l2
print(l3)  # 形成新列表:[1,2,3,4]

# 重复
l1 * 2   # l1 +l1 = [1,2,1,2] 
4 赋值

要求: 变量数量和元素数量保持一致

li = ['1','2','3'] 
a,b,c = li  #  a='1',b= '2' c ='3'

a,b = li  # 
5 遍历
li = [1,2,3,4,5,6,7,8]

#  使用for循环(推荐)
for i in li:
    print(i)

   
  
l1 = [1,2]
l2 = [3,4]

# 将两个列表合并
l3 = l1 + l2
print(l3)  # 形成新列表:[1,2,3,4]

# 重复
l1 * 2   # l1 +l1 = [1,2,1,2] 
4 赋值

要求: 变量数量和元素数量保持一致

li = ['1','2','3'] 
a,b,c = li  #  a='1',b= '2' c ='3'

a,b = li  # 
5 遍历
li = [1,2,3,4,5,6,7,8]

#  使用for循环(推荐)
for i in li:
    print(i)

   
  
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值