while循环
while循环3要素:变量初始化,循环条件,代码块
i = 0
while 条件:
代码块
demo:根据用户需求输出行数和星星的个数
while循环嵌套例子:
i = int(input(\'请输入行数:\'))j = int(input(\'请输入每行的个数:\'))a = 0while a < i:b = 0while b <j:print(\'*\',end=\'\')b +=1print()a +=1
打印直角三角形
#demo:打印直角三角形i = int(input(\'请输入行数:\'))a = 0while a < i:b = 0while b <=a :print(\'*\',end=\'\')b+=1print()a+=1
demo:打印倒直角三角形:
i = int(input(\'请输入行数:\'))a = 0while a < i :b = 0while b < i-a:print(\'*\',end=\'\')b+=1print()a +=1
demo:输出9*9乘法表
#9*9乘法表i = 1while i < 10:j = 1while j < i+1:print(\'%d*%d=%d\\t\'%(j,i,(i*j)),end=\'\')j+=1print()i +=1\'\'\'i = 1while i < 9:j = 1while j < i+1:print(f\'{j}*{i}={i*j}\\t\',end=\'\')j+=1print()i +=1\'\'\'\'\'\'1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81\'\'\'#\'\\t\'制表符,让输出的内容整齐对齐
continue与break
continue:满足条件时,跳过当次循环,继续后面的循环
i = 0while i < 6:i+=1if i == 2:continueprint(i)else:print(\'hello\')\'\'\'13456hello\'\'\'
break:满足条件时,终止循环,后面的代码一律不执行
i = 0while i < 6:i+=1if i == 2:breakprint(i)else:print(\'hello\')\'\'\'1\'\'\'
列表(list[])
特点:列表是可变序列,字符串、整数、元组是不可变序列
列表:
python中的对象List
可以保存多个有序的数据(元素)
列表中的元素可以是任何对象
通过索引(index)可以对列表中的元素进行操作,是从0号位置开始的list[0]表示该列表中的第一个元素,列表长度是长度-1
len()可以获取列表的长度=最大索引+1
a = [10,20,30,40,50]print(len(a))print(a[0])print(a[4])\'\'\'结果如下:5代表列表的长度10表示列表的第一个元素50表示最后一个元素\'\'\'
a[-1]表示最后一个元素
a[-2]表示倒数第二个元素
.
.
.
切片
含义:切片是指从现有的列表中获取一个子列表。
语法:列表[开始的位置:结束的位置:步长]—位置是左闭右开.。
步长:如果依次获取元素,步长默认为1,可以省略不写
做切片的时候,总会返回一个新的列表,不会影响原来的列表。
如果省略结束位置,会从当前的开始位置一直截取到最后;
如果省略开始位置,会从第一个元素开始到结束位置上的元素(不包括结束位置上的元素)
如果开始位置和结束位置都省略,会把所有的元素截取出来。
步长为1的时候,有默认不写
a = [10,20,30,40,50,60]print(a[1::1])print(a[:2:1])print(a[::])\'\'\'结果如下:[20, 30, 40, 50, 60][10, 20][10, 20, 30, 40, 50, 60]\'\'\'
步长为2的时候,代码如下:
a = [10,20,30,40,50,60]print(a[::2])\'\'\'结果如下:[10, 30, 50]\'\'\'
步长为-1的时候,就是将原来的列表进行反置,如下:
a = [10,20,30,40,50,60]print(a[::-1])\'\'\'[60, 50, 40, 30, 20, 10]\'\'\'
列表的操作
列表的+和*
+:可以将2个列表拼接成一个列表
a = [10,20,30,40,50,60]b = [70,80,90]print(a+b)\'\'\'[10, 20, 30, 40, 50, 60, 70, 80, 90]\'\'\'
*:可以将列表复制成制定的次数,列表的乘法就是复制原元素的次数
a = [10,20,30,40,50,60]print(a*2)\'\'\'[10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60]\'\'\'
in 和not in
in:用来检查指定元素是否在列表中
a = [10,20,30,40,50,60]print(10 in a)\'\'\'True\'\'\'
not in:用来检查指定元素是否不在列表中
a = [10,20,30,40,50,60]print(10 not in a)\'\'\'False\'\'\'
max和min
a = [10,20,30,40,50,60]print(max(a))print(min(a))\'\'\'6010\'\'\'
获取列表中元素的位置(index())
方法:index()的使用
a = [10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60]print(a.index(20))\'\'\'结果:1\'\'\'
寻找列表中第二个20元素
a.index(元素,开始位置,结束位置)
print(a.index(20,3,8))\'\'\'结果:7\'\'\'
count()指定元素在列表中出现的次数
a = [10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60]print(a.count(20))\'\'\'结果:3\'\'\'
列表的修改
方法:
1.列表名称[元素所在的位置]=要修改的内容
2.del 列表名称[元素所在的位置]—>删除该元素
3.通过切片来修改,如果修改的内容多余要修改的内容,往后依次填写进去
a = [10, 20, 30, 40, 50, 60]a[0:2] =[80,90,100]print(a)\'\'\'结果:[80, 90, 100, 30, 40, 50, 60]\'\'\'
如果是a[0:0] = 11,表示索引为0的位置插入11这个元素,a[1:1]向索引为1的位置插入元素
如果设置了步长进行修改,那么修改的内容必须与切除的内容个数一致
4.可以通过切片来删除元素
作业
给用户9次机会 猜1-10个数字随机来猜数字,如果随机的数字和用户输入的数字一致则表示正确
import randoma = int(input(\'请输入数字,我来判断是否一致:\'))b = random.randint(1,9)if a == b :print(\'恭喜中奖\')else:print(\'很遗憾,没有中奖\')
有2个列表 lst1 = [11,22,33] lst2 = [22,33,44]获取内容相同的元素
list1 = [11,22,33]list2 = [22,33,44]for i in list1:for j in list2:if i==j:print(\'2个列表相同的元素有:\'+str(i))