19.4.25学习笔记and作业

输出120-200的素数,以及不是素数的和
i=120
he=0
while i<=150:
j=2
while j<i:
if i%j==0:
he=he+i
break
j+=1
else:
print(i,‘是质数’)
i+=1
print(he)

输出一个平行四边形
i=1
while i<=5:
j=1
while j<=6-i:
print(’ ‘,end=’’)
j+=1
k=1
while k<=6:
print(’*’,end=’’)
k+=1
i+=1
print()

输出一个空心平行四边形
i=1
while i<=5:
j=1
while j<=6-i:
print(’ ‘,end=’’)
j+=1
k=1
while k<=6:
if i5 or i1or k1 or k6:
print(’*’,end=’’)
else:
print(’ ‘,end=’’)
k+=1
i+=1
print()

用while循环输出九九乘法表
i=1
while i<=9:
j=1
while j<=i:
print(j,’’,i,’=’,ji,end=’ ')
j+=1
i+=1
print()

用for循环输出九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(j,’’,i,’=’,ji,end=’ ')
print()

用while循环,输出空心三角形
i=1
while i<=6:
j=1
while j<=7-i:
print(’ ‘,end=’’)
j+=1
k=1
while k<=2i-1:
if i6 or k1 or k==2
i-1:
print(’*’,end=’’)
else:
print(’ ‘,end=’’)
k+=1
i+=1
print()

用for循环,输出空心三角形
for i in range(1,7):
for j in range(1,7-i+1):
print(’ ‘,end=’’)
for k in range(1,2i-1+1):
if k1 or k2
i-1 or i==6:
print(’*’,end=’’)
else:
print(’ ‘,end=’’)
print()

用for循环,打印列表所有的元素
a=[‘张三’,‘李四’,‘王五’]
for i in a:
print(i)

切片
a=[1,2,3,4]
b=a[0::2]
print(b)

倒序
a=[1,2,3]
b=a[::-1]
print(b) #用切片不会将a改变,只会生成新的列表

a=[1,2,3,4,5]
b,*d=a
print(b,d)
*e,f=a
print(e,f)

a=[1,2]
b,c=a
print(b,c)##个数对应相同可以,不相同会报错

appen的用法
a=[1,2,3,4]
a.append(6)
print(a)

extend的用法
a=[1,2,3,4]
b=[1,2,3]
a.extend(b)
print(a)

a=[1,2]
b=[2,3]
c=a+b
print©
a.extend(b)和a+b的区别,a+b的a,b不变,a.extend.(b),a改变了

pop的用法,按索引位置删除,并且返回值,默认删除最后一个
a=[1,2,3,4,5]
b=a.pop(2)
print(b)
print(a)

remove的使用方法,从左往右数,删除第一个指定元素,不返回删除值
a=[1,2,3,4,2,3,4]
a.remove(2)
print(a)

del得使用
a=[1,2,3]
del a[1]
print(a)

修改列表中的元素,按下标索引修改
a=[1,2,3,4]
a[2]=6
print(a)
a.reverse()##倒序
print(a)

sort 方法的使用,按照ascii码表,进行升序排列

count的使用,输出指定元素的个数,返回值
a=[1,2,3,4,2,3,4,2]
b=a.count(2)
print(b)

index的使用,从左右往右,按下标索引指定元素,并且输出指定元素第一个的下标,如果没有则报错
a=[1,23,4,4,5]
b=a.index(4)
print(b)

嵌套列表
a=[[1,2,3],[4,5,6],[7,8,9]]
print(a[1])
print(a[2][2])

打印列表
a=[[1,2,3,4],[2,3,4],[1,2,3]]
for i in a:
for y in i:
print(y,end=’’)
print()

#深浅拷贝

a=[1,2,3,4]

b=a

a.append(6)

print(b)

b=[‘a’,‘b’,‘c’]

print(a)

import copy
a=[1,2,3,[4,5,6]]
b=a
print(b)#[1,2,3,[4,5,6]]
d=copy.copy(a)
e=copy.deepcopy(a)
print(d)#[1,2,3,[4,5,6]]
print(e)#[1,2,3,[4,5,6]]

a.append(6)
print(b)#[1,2,3,[4,5,6],6]
print(d)#[1,2,3,[4,5,6]]
print(e)#[1,2,3,[4,5,6]]

a[3].append(11)
print(b)#[1,2,3,[4,5,6,11],6]
print(d)#[1,2,3,[4,5,6,11]]
print(e)#[1,2,3,[4,5,6]]

a=((1,2,3),(4,5,6))
for i in a:
for j in i:
print(j,end=’ ')
print()

元祖中的元素不可以修改,但是元素中的列表,可以修改
a=(1,2,3,[4,5,6])
a[3].append(7)
print(a)

a=((1,2,3),(4,5,6))
for i in a:
for j in i:
print(j,end=’’)
print()

有问题
a=((1,2,3),(4,5,6))
i=0
while i<len(a):
j=0
while j<len(a[i]):
print(a[i][j],end=’’)
j+=1
i+1

枚举函数
a=(1,2,3,‘a’,‘b’)
for x,y in enumerate(a):
print(x,y)

a=(1,2,3,4,5)
i=0
zd=a[0]
zx=a[0]
zd_xb=0
zx_xb=0
while i<len(a):
if a[i]>zd:
zd=a[i]
zd_xb=i
elif a[i]<zx:
zx=a[i]
zx_xb=i
i+=1
print(zd,zx,zx_xb,zd_xb)

元祖中k值不能是可变的类型,例如列表,只能是数字,字符串,元祖,不可变的类型

扩展
a={‘name’:‘张三’,‘sex’:‘男’,‘age’:18}
b={‘address’:‘广州’}
a.update(b)
print(a)

a={‘name’:‘张三’,‘sex’:‘男’,‘age’:18}

print(a.values())

print(a.keys())

for x in a.keys():
print(x,end=’ ‘)
print()
for y in a.values():
print(y,end=’ ')

a={‘name’:‘张三’,‘sex’:‘男’,‘age’:18}
print(a.items())##将字典按元祖打印出来
for x,y in a.items():
print(x,y)

集合具有唯一性,无序性
a={1,2,3}
for x in a:
print(x)

a={1,2,3}
b={2,3,4}
print(a&b)##输出相同元素
d=b.intersection(a)##输出b在a中的元素
print(d)
c=a|b#并集,输出a,b中的所有元素
print©
e=a.union(b)#并集,输出a,b中的所有元素
print(e)
d=b-a##输出b中,a没有的元素
print(d)
e=a.difference(b)##输出a中不同于b的元素
print(e)

a={1,2,3,4}
b={2,3,4,5}
c=a.symmetric_difference(b)##输出a和b中不同的元素
print©

输出不同元素出现的个数
a=[1,2,3,45,63,2,3,43,2,2,1]
for i in set(a):
print(i,‘出现了’,a.count(i),‘次’)

a={“001”:{“name”:“张三”,‘age’:18,“sex”:“男”},
“002”: {“name”: “李四”, ‘age’: 28, “sex”: “女”},
“003”: {“name”: “王五”, ‘age’: 38, “sex”: “男”},
“004”: {“name”: “赵六”, ‘age’: 48, “sex”: “女”},
}

for k,v in a.items():
print(‘学号’,k,end=’ ‘)
for x,y in v.items():
print(x,y,end=’ ')
print()

把年龄大于30的人,每人bonus:1000
for k in a.keys():
if a[k][‘age’]>=30:
a[k][‘bonus’]=1000
for v in a.values():
print(v)

作业

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值