6-python作业--极简主义
OK ! 整活回归! 这次基本每个要求都只用了一行完成,体现了作业的某种特点
Release
- Setup
- 安装包下载的文件默认在桌面上.
作业
例 3-8
用列表存储若干城市的名称,利用for循环逐一输出城市名称。
正常作业:
1
2
3
4
5
6
7# example3_8_1.py
# coding=utf-8
nameList = ['Beijing', 'Shanghai', 'Hangzhou', 'Nanjing', 'Taizhou', 'Wuhan']
print('城市名称列表:', end=' ')
for name in nameList:
print(name, end=' ')1
2
3
4
5
6
7# example3_8_1.py
# coding=utf-8
nameList = ['Beijing', 'Shanghai', 'Hangzhou', 'Nanjing', 'Taizhou', 'Wuhan']
print('城市名称列表:', end=' ')
for i in range(len(nameList)):
print(nameList[i], end=' ')我的:
1
2# 3-8-1
print('城市名称列表:',' '.join(['Beijing', 'Shanghai', 'Hangzhou', 'Nanjing', 'Taizhou', 'Wuhan']))print('城市名称列表:',' '.join(['Beijing', 'Shanghai', 'Hangzhou', 'Nanjing', 'Taizhou', 'Wuhan']))
1
2# 3-8-2
(lambda nameList: print('城市名称列表:', ' '.join(nameList)))(['Beijing', 'Shanghai', 'Hangzhou', 'Nanjing', 'Taizhou', 'Wuhan'])(lambda nameList: print('城市名称列表:', ' '.join(nameList)))(['Beijing', 'Shanghai', 'Hangzhou', 'Nanjing', 'Taizhou', 'Wuhan'])
例 3-12
有一个列表sales=[5000, 3000, 8000, 10600, 6000, 5000]。该列表中的元素依次表示某产品1-6月的销售额。请用for循环遍历该列表,找到第一个销售额大于或等于6000的元素,并打印该元素的值。如果没有找到,则输出“未找到”。
- 正常作业:
1
2
3
4
5
6
7
8
9
10
11
12# example3_12.py
# coding=utf-8
sales = [5000, 3000, 8000, 10600, 6000, 5000]
found = 0
for i in sales:
if i >= 6000:
print("第一个大于或等于6000的销售额是:", i)
found = 1
break
if not found:
print('未找到。') - 我的:
1
2# 3-12
lambda sales: print(next((i for i in sales if i >= 6000), '未找到'))([5000, 3000, 8000, 10600, 6000, 5000])lambda sales: print(next((i for i in sales if i >= 6000), '未找到'))([5000, 3000, 8000, 10600, 6000, 5000])
例 3-15
寻找并打印输出所有三位数的素数。 (素数,是指除了1和该数本身之外,不能被其它任何整数整除的数。)
- 正常作业:
1
2
3
4
5
6
7
8
9
10
11
12# example3_15.py
# coding=utf-8
print(f'所有三位数的素数如下:',end='\t')
for i in range(100,1001):
k = 0
for j in range(2,int(i/2+1)):
if i % j ==0:
k = 1
break
if k == 0:
print(i,end='\t') - 我的:
1
2# 3-15
print('所有三位数的素数如下:\n','\t'.join(str(i) for i in range(100, 1001) if all(i % j != 0 for j in range(2, int(i/2 + 1)))))print('所有三位数的素数如下:\n','\t'.join(str(i) for i in range(100, 1001) if all(i % j != 0 for j in range(2, int(i/2 + 1)))))
作业
练 6-1
输出1000以内的素数以及这些素数之和。(素数,是指除了1和该数本身之外,不能被其它任何整数整除的数。)
正常作业
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# exercise6_1.py
# coding=utf-8
s = 0
print('1000以内素数:')
for i in range(2,1001):
k = 0
for j in range(2,int(i/2+1)):
if i % j ==0:
k = 1
break
if k == 0:
s += i
print(i,end='\t')
print(f'\n1000以内素数之和:\t{s}')我的
1
print('1000以内素数:\n','\t'.join(str(i) for i in range(2, 1000) if all(i % j != 0 for j in range(2, int(i/2) + 1))),'\n1000以内素数之和:\t',sum(i for i in range(2, 1001) if all(i % j != 0 for j in range(2, int(i / 2) + 1))))
print('1000以内素数:\n','\t'.join(str(i) for i in range(2, 1000) if all(i % j != 0 for j in range(2, int(i/2) + 1))),'\n1000以内素数之和:\t',sum(i for i in range(2, 1001) if all(i % j != 0 for j in range(2, int(i / 2) + 1))))
练 6-2
用for循环实现三位数中水仙花数的寻找。三位数的水仙花数是指百位数的三次方+十位数的三次方+个位数的三次方等于此三位数本身。
正常作业
1
2
3
4
5
6
7
8
9
10# exercise6_2.py
# coding=utf-8
print('三位数中所有水仙花数是:')
for num in range(100,1000):
s = 0
for i in str(num):
s += int(i)**3
if s == num:
print(num,end='\t')我的
1
print('三位数中所有水仙花数是:\n','\t'.join(map(str, filter(lambda x: sum(int(i)**3 for i in str(x)) == x, range(100, 1000)))))
print('三位数中所有水仙花数是:\n','\t'.join(map(str, filter(lambda x: sum(int(i)**3 for i in str(x)) == x, range(100, 1000)))))
练 6-3
预设一个0~9之间的整数(比如7),让用户猜一猜并输入所猜的数,如果大于预设的数,显示“太大”;小于预设的数,显示“太小”;如此循环,直至猜中该数,显示“恭喜!你猜中了!”
正常作业
1
2
3
4
5
6
7
8
9
10
11
12
13# exercise6_3.py
# coding=utf-8
num = 7
i = int(input('请输入您猜的数(0~9): '))
while i != num:
if i < num:
print('太小')
if i > num:
print('太大')
i = int(input('请输入您猜的数(0~9): '))
else:
print('恭喜!你猜中了!')我的
1
2
3num = 7
while (i := int(input('请输入您猜的数(0~9): '))) != num:print('太小' if i < num else '太大')
print('恭喜!你猜中了!')
练 6-4
输出1-100之间能被7整除但不能同时被5整除的所有整数。
正常作业
1
2
3
4
5
6
7# exercise6_4.py
# coding=utf-8
print('打印出 1\~100 之间能被7整除,但不能同时被5整除的所有数:')
for i in range(1, 101):
if i % 7 == 0 and i % 5 != 0:
print(i, end='\t')我的
1
print('1\~100 之间能被7整除,但不能同时被5整除的所有数:','\t'.join(str(i) for i in [x for x in range(100)] if i % 7 == 0 and i % 5 != 0
print('1\~100 之间能被7整除,但不能同时被5整除的所有数:','\t'.join(str(i) for i in [x for x in range(100)] if i % 7 == 0 and i % 5 != 0))
练 6-5
输出1-100之间能被7整除但不能同时被5整除的所有整数。
正常作业
1
2
3
4
5
6
7# exercise6_5.py
# coding=utf-8
print('打印出 1\~100 之间能被7整除,但不能同时被5整除的所有数:')
for i in range(7, 101,7):
if i % 5 != 0:
print(i, end='\t')我的
1
print('1\~100 之间能被7整除,但不能同时被5整除的所有数:','\t'.join(str(i) for i in filter(lambda x:x%7==0,range(1,100)) if i % 5 != 0))
print('1\~100 之间能被7整除,但不能同时被5整除的所有数:','\t'.join(str(i) for i in filter(lambda x:x%7==0,range(1,100)) if i % 5 != 0))
练 6-6
成绩均为整数,对百分制(0–100)的成绩判定等级,要求输出0–100成绩对应的等级。
正常作业
1
2
3
4
5
6
7
8
9
10
11
12
13# exercise6_6.py
# coding=utf-8
for score in range(100):
if score >= 85:
grade = "优秀"
elif score >= 70:
grade = "中等"
elif score >= 60:
grade = "及格"
else:
grade = "不及格"
print('成绩:', score, '等级:', grade)我的
1
print('\n'.join(f'成绩:{score}\t等级:{"优秀" if score >= 85 else "中等" if score >= 70 else "及格" if score >= 60 else "不及格"}' for score in range(100) if score < 100) + '\n成绩:100等级:优秀')
print('\n'.join(f'成绩:{score}\t等级:{"优秀" if score >= 85 else "中等" if score >= 70 else "及格" if score >= 60 else "不及格"}' for score in range(100) if score < 100) + '\n成绩:100等级:优秀')
选择
- D
- A
- A
判断
- F
- F
- T
提交作业
正常作业:(打包文件在文章开头处
setup
)
Download example3_8_1.py
Download example3_8_2.py
Download example3_12.py
Download example3_15.py
Download exercise6_1.py
Download exercise6_2.py
Download exercise6_3.py
Download exercise6_4.py
Download exercise6_5.py
Download exercise6_6.py
Download 判断.txt
Download 选择.txt我的:
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#-- codeing=utf-8 --
#@Time:2024-4-5
#@Author:zzy
#@File:exercise6.py
#@Software:vscode
# 例题
# 3-8-1
# print('城市名称列表:',' '.join(['Beijing', 'Shanghai', 'Hangzhou', 'Nanjing', 'Taizhou', 'Wuhan']))
# 3-8-2
(lambda nameList: print('城市名称列表:', ' '.join(nameList)))(['Beijing', 'Shanghai', 'Hangzhou', 'Nanjing', 'Taizhou', 'Wuhan'])
# 3-12
lambda sales: print(next((i for i in sales if i >= 6000), '未找到'))([5000, 3000, 8000, 10600, 6000, 5000])
# 3-15
print('所有三位数的素数如下:\n','\t'.join(str(i) for i in range(100, 1001) if all(i % j != 0 for j in range(2, int(i/2 + 1)))))
# 作业
# 6-1
print('1000以内素数:\n','\t'.join(str(i) for i in range(2, 1000) if all(i % j != 0 for j in range(2, int(i/2) + 1))),'\n1000以内素数之和:\t',sum(i for i in range(2, 1001) if all(i % j != 0 for j in range(2, int(i / 2) + 1))))
# 6-2
print('三位数中所有水仙花数是:\n','\t'.join(map(str, filter(lambda x: sum(int(i)**3 for i in str(x)) == x, range(100, 1000)))))
# 6-3
num = 7
while (i := int(input('请输入您猜的数(0~9): '))) != num:print('太小' if i < num else '太大')
print('恭喜!你猜中了!')
# 6-4
print('1\~100 之间能被7整除,但不能同时被5整除的所有数:','\t'.join(str(i) for i in [x for x in range(100)] if i % 7 == 0 and i % 5 != 0))
# 6-5
print('1\~100 之间能被7整除,但不能同时被5整除的所有数:','\t'.join(str(i) for i in filter(lambda x:x%7==0,range(1,100)) if i % 5 != 0))
# 6-6
print('\n'.join(f'成绩:{score}\t等级:{"优秀" if score >= 85 else "中等" if score >= 70 else "及格" if score >= 60 else "不及格"}' for score in range(100) if score < 100) + '\n成绩:100等级:优秀')
# 选择
# D A A
# 判断
# F F T