练习1
ou=0
odd=0
str=input('输入一个正整数列表,每个正整数之间用,隔开,以-1结束')
list1=str.split(',')
list1=list(map(int,list1))
for i in list1:
if i!=-1:
if i%2==0:
ou=i+ou
else:
odd=odd+i
print(f'偶数的和为{ou}')
print(f'奇数的和为{odd}')
练习2
score=[68,75,32,99,78,45,88,72,83,78]
A=[]
B=[]
C=[]
D=[]
for i in score:
if(i>90):
A+=[i]
elif(i>80):
B+=[i]
elif(i>60):
C+=[i]
else:
D+=[i]
print(len(A))
print(len(B))
print(len(C))
print(len(D))
练习3
i=0
odd=[]
while i<10:
num=int(input("请输入一个奇数"))
if num%2!=0:
odd += [num]
i += 1
else:
print("你输入的不是奇数,请重新输入")
print("该列表的和为:",sum(odd))
print("该列表的平均值为:",sum(odd)/len(odd))
#while两种循环结构,1.计数器 2.死循环break
#ps:3.靠用户输入结束while循环
练习4
name_score={'张三':45,'李四':78,'徐来':40,'沙思思':96,'如一':65,
'司音':90,'赵敏':78,'张旭宁':99,'柏龙':60,'思琪':87,}
for i in name_score.items():
print(i)
print('全班同学人数',len(name_score))
A=list(name_score.values())
num=sum(A)
print('全班同学的平均分',num/len(name_score))
练习5
list1=[2.3,4.5,24,17,1,7.8,39,21,0.5,1.2,4,1,0.3]
platinum = []
gold = []
silver = []
ordinary = []
for i in list1:
if i>=10:
platinum.append(i)
elif i >= 5:
gold.append(i)
elif i >= 3:
silver.append(i)
else:
ordinary.append(i)
dict = {"platinum": len(platinum),
"gold": len(gold),
"silver": len(silver),
"ordinary": len(ordinary)}
print(dict)
练习7:
list1=[int(input("请输入第"+str(i+1)+"个数")) for i in range(5)]
for i,j in enumerate(list1):
print('下标',i,'值',j)
avg= sum(list1) / len(list1)
print(avg)
list2=[j for j in list1 if j>avg]
print(list2)
练习8:
list1=[1,2,3,4]
list2=[i*100+j*10+k for i in list1 for j in list1 for k in list1\
if i!=j and j!=k and i!=k]
print(list2)
print(len(list2))
练习9:
list1=[1,9,8,7,6,5,13,3,2,1]
print(list1)
list2=[i for i in list1 if i%2==0]
print(list2)
练习10
list1=[print('公鸡',i,'母鸡',j,'小鸡',k) for i in range(101) for j in range(101) \
for k in range(101) if 5*i+3*j+k/3==100 and i+j+k==100]
list1=[print('公鸡',i,'母鸡',j,'小鸡',100-i-j)
for i in range(21) for j in range(34) \
if 5*i+3*j+(100-i-j)/3==100]