Python——chap4

练习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]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ADoubleLiu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值