python之列表的练习

1. 练习一

假定有下面这样的列表:
names = [‘fentiao’, ‘fendai’, ‘fensi’, ‘apple’]
输出结果为:‘I have fentiao, fendai, fensi and apple.’

names = ['fentiao', 'fendai', 'fensi', 'apple']
print('I have ' + ','.join(names[:-1]) + ' and ' + names[-1])

输出结果:
在这里插入图片描述

2. 练习二

输入某年某月某日(yyyy-MM-dd),判断这一天是这一年的第几天?

cal = input('输入日期 yyyy-mm-dd:')
date = cal.split('-') #拆分日期
print(date)
year = int(date[0])
month = int(date[1])
day = int(date[2])
arr = [0,31,28,31,30,31,30,31,31,30,31,30,31]
num = 0

if ((year % 4 ==0) and (year % 100 !=0) or(year % 400 ==0)):
    arr[2] = 29

for i in range(1,len(arr)):
    if month > i:
        num += arr[i]
    else:
        num += day
        break

print('天数:',num)

输出结果:
在这里插入图片描述

3. 练习三

有一个列表,其中包括 10 个元素,
例如这个列表是[1,2,3,4,5,6,7,8,9,0],
要求将列表中的每个元素一次向前移动一个位置,
第一个元素到列表的最后,然后输出这个列表。
最终样式是[2,3,4,5,6,7,8,9,0,1]

l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
l2 = l1.pop(0)
l1.append(l2)
print(l1)

输出结果:
在这里插入图片描述

4. 练习四

按照下面的要求实现对列表的操作:
产生一个列表,其中有 40 个元素,每个元素是 50 到 100 的一个随机整数
如果这个列表中的数据代表着某个班级 40 人的分数,请计算成绩低于平均分的学生人数
对上面的列表元素从大到小排序并输出li.sort(reverse=True)

import random
score = []

# 循环40次
for count  in range(40):
    num = random.randint(50,100)
    score.append(num)

print('40人的分数为:',score)
sum_score = sum(score)
print(sum_score)
ave_num = sum_score/40
# 将小于平均成绩的成绩找出来 组成新的列表 并求列表的长度
less_ave = []
for i in score:
    if i < ave_num:
        less_ave.append(i)
long = len(less_ave)
print(long)
print('平均分数为:%.1f' %(ave_num))
print('有%d个学生低于平均分数:'%(long))

score.sort(reverse=True)
print('排序结果:',score)

输出结果:
在这里插入图片描述

发布了60 篇原创文章 · 获赞 6 · 访问量 1377

猜你喜欢

转载自blog.csdn.net/weixin_45775963/article/details/103630734