python中的语法列表,循环,元素

阅读: 评论:0

python中的语法列表,循环,元素

python中的语法列表,循环,元素

1.python中的语法列表,循环,元素

  • 容器的基本特征:一个容器型的数据可以同时保存多个其他的数据

  • 元素:容器中每一个独立的数据就是一个元素

  • 列表:是容器型数据类型(序列):将[]作为容器的标志,里面多个元素用逗号隔开:[元素1,元素2,元素3,…] 。

  • 特点:列表是可变的(元素的个数、值和顺序可变)增,删,改;列表是有序的。

  • 要求:没有要求(不管什么类型的数据都可以作为列表的元素)

  • 查:获取元素

  • 种类:获取单个元素,切片,遍历(一个一个的取)

    • 获取单个元素

    • 任何结果是列表的表达式,比如:保存列表的变量、具体的列表值等任何结果是列表的表达式,
      固定写法
      下标又叫索引,是元素在有序序列中位置信息。
      Python中有序序列中每个元素都有两组下标值,分别是:从前往后从0开始递增的下标值;从后往前从-1开始递减的下标值

    • 空列表

    • len(列表) 获取列表中元素的个数

      代码如下:

      scores = [90,89,23,54]
      print (sum(scores)/len(scores))list1 = []
      list2 = [ ]
      print(type(list1),type(list2)) #<class 'list'>
      print(bool(list1),bool(list2)) #<class 'list'>
      print(len(list1),len(list2)) #False Falselist3 = [21,32,32,34,87,90]
      print(list3)  #[21, 32, 32, 34, 87, 90]list4 = [[1,3,4],[3,5,6],[7,8,9]]
      print(list4)
      #  [[1, 3, 4], [3, 5, 6], [7, 8, 9]]names = ['甄姬','貂蝉','韩信',' 吕布','赵云','后裔','鲁班','狄仁杰']
      print(names[1]) #貂蝉
      print(names[-1]) #狄仁杰
      print(names[5]) #后裔
      print(names[-5]) #吕布
      #print(names[10]) 下标不能越界for x in names:print(x,end = ' ')
      # 甄姬 貂蝉 韩信  吕布 赵云 后裔 鲁班 狄仁杰for index in range(len(names)):print(index,names[index],end = ' ')
      # 0 甄姬 1 貂蝉 2 韩信 3  吕布 4 赵云 5 后裔 6 鲁班 7 狄仁杰for index, item in enumerate(names):print(index,item,end = ' ')
      # 0 甄姬 1 貂蝉 2 韩信 3  吕布 4 赵云 5 后裔 6 鲁班 7 狄仁杰 
      
2.循环嵌套

# 循环嵌套的执行原则:外循环一次,内循环完整
for x in range(5):for y in range(2, 5):print(x, y)x取值范围:0,1,2,3,4
第1次  x=0:  执行循环体对应的for循环, y取值范围是: 2,3,4第1次 y=2: print(x, y) -> print(0, 2)第2次 y=3: print(x, y) -> print(0, 3)第3次 y=4: print(x, y) -> print(0, 4)内循环结束
第2次  x=1:  执行循环体对应的for循环, y取值范围是: 2,3,4第1次 y=2: print(x, y) -> print(1, 2)第2次 y=3: print(x, y) -> print(1, 3)第3次 y=4: print(x, y) -> print(1, 4)内循环结束
3.元素

列表.append(元素)   -   在列表的最后添加一个元素
列表.insert(下标, 元素)  - 在指定下标对应的元素前插入指定元素
"""
movies = ['五十六度灰', '哥斯拉大战金刚', '桃花侠大战菊花怪']
print(movies)       # ['五十六度灰', '哥斯拉大战金刚', '桃花侠大战菊花怪']movies.append('肖生克的救赎')
print(movies)       # ['五十六度灰', '哥斯拉大战金刚', '桃花侠大战菊花怪', '肖生克的救赎']movies.insert(2, '沉默的羔羊')
print(movies)       # ['五十六度灰', '哥斯拉大战金刚', '沉默的羔羊', '桃花侠大战菊花怪', '肖生克的救赎']# 2)批量添加
# 列表1.extend(列表2)  - 将列表2元素全部添加到列表1的后面
d(['让子弹飞', '触不可及', 'V字仇杀队'])
print(movies)       # ['五十六度灰', '哥斯拉大战金刚', '沉默的羔羊', '桃花侠大战菊花怪', '肖生克的救赎', '让子弹飞', '触不可及', 'V字仇杀队']# 练习:将scores中所有的及格的分数提取出来
# [89, 67, 90, 98, 78, 99]
scores = [89, 67, 56, 90, 98, 30, 78, 51, 99]
scores2 = []
for x in scores:if x >= 60:scores2.append(x)
print(scores2)
4.习题

# 1.使用for和while循环输出 0~100 内所有3的倍数。
print('==================第1题(1)===============')
# 方法一
for num in range(0, 100, 3):print(num)# while循环
print('==================第1题(2)===============')
num = 0   # 保存3的倍数,默认是0
while True:# 打印3的倍数print(num)num += 3if num >= 100:break# 2. 使用for和while循环输出100~200内个位数或者十位数能被3整除的数。
# 234
print('==================第2题(1)===============')
for num in range(100, 200):if num % 10 % 3 == 0 or num // 10 % 10 % 3 == 0:print(num)for num in range(100, 200):ge = num % 10if ge % 3 == 0:print(num)continueshi = num // 10 % 10if shi % 3 == 0:print(num)print('==================第2题(2)===============')
num = 100
while True:if num % 10 % 3 == 0 or num // 10 % 10 % 3 == 0:print(num)num += 1if num >= 200:break# 3.统计100~200中十位数是5的数的个数
print('==================第3题===============')
count = 0
for num in range(150, 160):count += 1
print(count)# 4. 打印50~150中所有能被3整除但是不能被5整除的数
print('==================第4题===============')
for num in range(51, 150, 3):if num % 5 != 0:print(num)for num in range(51, 150, 3):if num % 5 == 0:continueprint(num)# 5.计算50~150中所有能被3整除但是不能被5整除的数的和
print('==================第5题===============')
sum1 = 0
for num in range(51, 150, 3):if num % 5 != 0:sum1 += num
print(sum1)# 6. 使用循环计算1*2*3*4*...*10的结果。
print('==================第6题===============')
sum1 = 1
for num in range(1, 11):sum1 *= num
print(sum1)# 7.统计100以内个位数是2并且能够被3整除的数的个数。
print('==================第7题===============')
count = 0
for num in range(2, 100, 10):if num % 3 == 0:count += 1print(num)
print('个数:', count)# 8.输入任意一个正整数,求他是几位数?
# 234  -> 3   234 // 10  = 23 // 10 = 2 // 10 = 0
# 1024  -> 4    1024 // 10 = 102  // 10  = 10 // 10 = 1 // 10 = 0
print('==================第8题===============')num = int(input('请输入一个正整数:'))count = 0while True:num //= 10count += 1if num == 0:break
print(count)# 9.判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)
print('==================第9题===============')
num = 7
# 方法一:基本逻辑(没有优化)
for x in range(2, num):if num % x == 0:print(num, '不是素数')break
else:print(num, '是素数')# 方法二:优化循环次数
for x in range(2, int(num ** 0.5) + 1):if num % x == 0:print(num, '不是素数')break
else:print(num, '是素数')# 10. 求斐波那契数列列中第n个数的值:1,1,2,3,5,8,13,21,34… (这儿的n可以是任意正整数,可以通过输入来确定)
# 1  1 2 3 5 8 13 21 34 55
print('==================第10题===============')
pre_1 = pre_2 = 1
n = 6
if n == 1 or n == 2:print(1)
else:for x in range(n-3):pre_1, pre_2 = pre_2, pre_1 + pre_2print(pre_1 + pre_2)"""
pre_1 = 1, pre_2 = 1
n = 6
if n == 1 or n == 2 -> if 6==1 or 6 == 2  -> if False or False -> if False
执行else中的代码:执行for循环:x取值范围是:range(n-3) -> range(6-3) -> range(3) -> 0, 1, 2 (循环3次)第1次循环  x = 0: pre_1, pre_2 = pre_2, pre_1 + pre_2 -> pre_1, pre_2 = 1, 1+1 -> pre_1, pre_2 = 1, 2第2次循环  x = 1: pre_1, pre_2 = pre_2, pre_1 + pre_2 -> pre_1, pre_2 = 2, 1+2 = 2, 3第3次循环  x = 2: pre_1, pre_2 = pre_2, pre_1 + pre_2 -> pre_1, pre_2 = 3, 2+3 = 3, 5循环结束print(pre_1 + pre_2) -> print(3 + 5)  -> print(8)from random import randint
number = randint(1, 100)    # 产生1~100的随机数(游戏中需要猜的数)
count = 0
while True:value = int(input('请输入数字(1~100):'))    # 玩家输入count += 1if value == number:breakif value > number:print('大了,再小点儿!')else:print('小了,再大点儿!')print('恭喜你猜对了!')
if count < 5:print('猜中只用了', count, '次! 棒棒哒~')
elif count < 10:print('总共猜了', count, '次~平凡如你~')
else:print('天才!你猜了', count, '次!')for循环
"""
for 变量 in 序列:循环体(需要重复执行的代码)
else:代码段
"""
for x in range(10):if x % 2:print(x)"""
x取值范围是:0、1、2、3...9
第1次循环 x=0:  if x % 2  -> if 0 % 2 -> if 0 -> if False
第2次循环 x=1:  if x % 2  -> if 1 % 2 -> if 1 -> if True: print(x) -> print(1)
第3次循环 x=2:  ....# 2. range
# range(N)    [0,N)  步长为1
# range(M,N)    [M,N)  步长为1
# range(M,N,step)   [M, N)   步长为step# 3.while
"""
while 条件语句:循环体
else:代码段while True:需要重复的操作if 停止条件:break# 4.continue、break
# 5. else

本文发布于:2024-02-08 19:39:55,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170739243368369.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:语法   元素   列表   python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23