8-python作业--极简主义
下期预告:大抵是会围绕规范与注释展开的.
Release
- Setup
- 安装包下载的文件默认在桌面上.
例题
例 4-1
用户分别从键盘输入4个整数和3个整数组成列表list1和list2;
将列表list2合并到list1中;
在list1末尾再添加两个数字90和100;
对list1降序排列,最后输出最终的列表list1。
正常作业:
1
2
3
4
5
6
7
8
9#example4_1.py
#coding=utf-8
list1 = list(range(10, 0, -1))
print("原来序列:", list1)
list2 = list1[::2]
list2.sort()
list1[::2] = list2
print("偶数下标升序:", list1)我的:
1
2
3print("原来序列:", list1:=list(range(10, 0, -1)))
list1[::2] = sorted(list1[::2])
print("偶数下标升序:", list1)
例 4-3
某公司股票一段时间的收盘价(单位:元)分别为:12.04, 11.15, 13.47, 13.58, 12.04, 12.04 , 11.15, 12.58, 11.15, 请建立一个列表(data)存储这些数据。请编写程序解决以下问题:
上述一共有几个数据?
统计收盘价为12.04元的次数
找出收盘价中的最小数据,并删除首次出现的最小数据,最后显示列表data。
正常作业:
1
2
3
4
5
6
7
8
9
10#example4_3.py
#coding=utf-8
data = [12.04, 11.15, 13.47, 13.58, 12.04, 12.04, 11.15, 12.58, 11.15]
print("共有" + str(len(data)) + "个数据,分别为:", data)
print("收盘价为12.04元的次数:", data.count(12.04))
x = min(data)
print("收盘价中最小数据:", x)
data.remove(x)
print("删除首次出现的最小数据后的列表:", data)我的:
1
2data = [12.04, 11.15, 13.47, 13.58, 12.04, 12.04, 11.15, 12.58, 11.15]
print("共有" + str(len(data)) + "个数据,分别为:", data);print("收盘价为12.04元的次数:", data.count(12.04));x = min(data);print("收盘价中最小数据:", x);data.remove(x);print("删除首次出现的最小数据后的列表:", data)假装简化了吧()
作业
练 8-1
从键盘依次输入多个正整数(每次输入一个)构成一个列表,输入-1表示结束,并且-1不添加到列表中。输出此列表,分别计算并输出列表中奇数和偶数的和。
正常作业
1
2
3
4
5
6
7
8
9
10
11
12
13
14#exercise8_1.py
#coding=utf-8
list1 = []
print('请输入数字构建一个包含10个奇数的列表')
while len(list1) < 10:
a = int(input('请输入数字:'))
if int(a) % 2 == 1:
list1.append(int(a))
else:
print('输入的不是奇数!!!')
print('列表为:\t',list1)
print('和:\t',sum_1:=sum(list1))
print('平均值:\t',sum_1/10)我的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# 8-1
list1 = []
print('请输入数字构建一个包含10个奇数的列表')
while len(list1) < 10:
a:int = input('请输入数字:')
try:
if int(a) % 2 == 1:
list1.append(int(a))
else:
print(f'输入的不是奇数!!!')
except:
print(f'输入的不是奇数!!!')
print(f'列表为:\t{list1}')
print('和:',sum_1:=sum(list1),sep='\t')
print(f'平均值:\t{sum_1/10}')
练 8-2
删除列表list1中出现的第一个能被7整除的数字,打印出列表list1。
正常作业
1
2
3
4
5
6
7
8
9
10
11
12#exercise8_2.py
#coding=utf-8
list1 = [100, 90, 145, 200, 67, 82, 91, 39, 78, 34, -49, 20, 99, 88, 79, 59, 43, 23, 90, 44, 89, 20, 199, 88, 79, 59, 43, 23, 90, 44, 89, 25, 91, 82, 272, -51, 46, 28, 98, 42, 87]
for i in list1:
if i % 7 == 0:
list1.remove(i)
print("删除第一个能被7整除的数字后的列表为:", list1)
break
else:
print("没有能被7整除的数字!")我的
1
2
3
4
5
6
7# 8-2
list1 = [100, 90, 145, 200, 67, 82, 91, 39, 78, 34, -49, 20, 99, 88, 79, 59, 43, 23, 90, 44, 89, 20, 199, 88, 79, 59, 43, 23, 90, 44, 89, 25, 91, 82, 272, -51, 46, 28, 98, 42, 87]
try:
list1.pop(next(i for i, num in enumerate(list1) if num % 7 == 0))
print("删除第一个能被7整除的数字后的列表为:", list1)
except StopIteration:
print("没有能被7整除的数字!")
练 8-3
删除列表list1中出现的第一个能被7整除的数字,打印出列表list1。
正常作业
1
2
3
4
5
6
7
8
9
10
11#exercise8_3.py
#coding=utf-8
list1 = [100, 90, 145, 200, 67, 82, 91, 39, 78, 34, -49, 20, 99, 88, 79, 59, 43, 23, 90, 44, 89, 20, 199, 88, 79, 59, 43, 23, 90, 44, 89, 25, 91, 82, 272, -51, 46, 28, 98, 42, 87]
for i in range(len(list1)):
if list1[i] % 7 == 0:
del list1[i]
print("删除第一个能被7整除的数字后的列表为:", list1)
break
else:
print("没有能被7整除的数字!")我的
1
2
3
4
5
6list1 = [100, 90, 145, 200, 67, 82, 91, 39, 78, 34, -49, 20, 99, 88, 79, 59, 43, 23, 90, 44, 89, 20, 199, 88, 79, 59, 43, 23, 90, 44, 89, 25, 91, 82, 272, -51, 46, 28, 98, 42, 87]
try:
del list1[next(i for i, num in enumerate(list1) if num % 7 == 0)]
print("删除第一个能被7整除的数字后的列表为:", list1)
except StopIteration:
print("没有能被7整除的数字!")
提交作业
正常作业:(打包文件在文章开头处
setup
)
Download example4_1py
Download example4_3py
Download exercise8_1.py
Download exercise8_2.py
Download exercise8_3.py我的:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45# 4-1
print("原来序列:", list1:=list(range(10, 0, -1)))
list1[::2] = sorted(list1[::2])
print("偶数下标升序:", list1)
list2 = list1[::2]
list2.sort()
list1[::2] = list2
print("偶数下标升序:", list1)
# 4-3
data = [12.04, 11.15, 13.47, 13.58, 12.04, 12.04, 11.15, 12.58, 11.15]
print("共有" + str(len(data)) + "个数据,分别为:", data);print("收盘价为12.04元的次数:", data.count(12.04));x = min(data);print("收盘价中最小数据:", x);data.remove(x);print("删除首次出现的最小数据后的列表:", data)
# 8-1
list1 = []
print('请输入数字构建一个包含10个奇数的列表')
while len(list1) < 10:
a:int = input('请输入数字:')
try:
if int(a) % 2 == 1:
list1.append(int(a))
else:
print(f'输入的不是奇数!!!')
except:
print(f'输入的不是奇数!!!')
print(f'列表为:\t{list1}')
print('和:',sum_1:=sum(list1),sep='\t')
print(f'平均值:\t{sum_1/10}')
# 8-2
list1 = [100, 90, 145, 200, 67, 82, 91, 39, 78, 34, -49, 20, 99, 88, 79, 59, 43, 23, 90, 44, 89, 20, 199, 88, 79, 59, 43, 23, 90, 44, 89, 25, 91, 82, 272, -51, 46, 28, 98, 42, 87]
try:
list1.pop(next(i for i, num in enumerate(list1) if num % 7 == 0))
print("删除第一个能被7整除的数字后的列表为:", list1)
except StopIteration:
print("没有能被7整除的数字!")
# 8-3
list1 = [100, 90, 145, 200, 67, 82, 91, 39, 78, 34, -49, 20, 99, 88, 79, 59, 43, 23, 90, 44, 89, 20, 199, 88, 79, 59, 43, 23, 90, 44, 89, 25, 91, 82, 272, -51, 46, 28, 98, 42, 87]
try:
del list1[next(i for i, num in enumerate(list1) if num % 7 == 0)]
print("删除第一个能被7整除的数字后的列表为:", list1)
except StopIteration:
print("没有能被7整除的数字!")