练习1
问题描述:
有一个列表,其中包括 10 个元素,例如这个列表是[1,2,3,4,5,6,7,8,9,0],要求将列表中的每个元素一次向前移动一个位置,第一个元素到列表的最后,然后输出这个列表。最终样式是[2,3,4,5,6,7,8,9,0,1]
编写代码如下,可供参考:
li1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(li1)
li2 = li1.pop(0)
li1.append(li2)
print(li1)
输出结果为:
练习2
问题描述:按照下面的要求实现对列表的操作:
- 产生一个列表,其中有 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)
ave_num = sum_score/40
less_ave = len([i for i in score if i<ave_num]) #将小于平均数的找出来,组成新的列表,并度量该列表的长度
print ("平均分数为:%.1f" % (ave_num))
print ("有 %d 个学生低于平均分数." % (less_ave))
# 由大到小进行排序;
score.sort(reverse=True)
print("排序结果:", score)
输出结果为:
练习3
问题描述:
如果将一句话作为一个字符串,那么这个字符串中必然会有空格(这里仅讨论英文),比如"How are you.",但有的时候,会在两个单词之间多打一个空格。现在的任务是,如果一个字符串中有连续的两个空格,请把它删除。
编写的代码如下:
string = "How are you."
print (string)
str_lst = string.split(" ")
print (str_lst)
words = [s for s in str_lst if s!=""]
print (words)
new_string = " ".join(words)
print (new_string)
输出结果为: