这一章将回顾一下上一章的作业:
'''1、将0-100所有3的倍数相加'''
i = 0
sum = 0
while i <= 100:
if i % 3 == 0:
print(i)
sum += i
i += 1
print(sum)
运行结果:
0
3
6
9
12
15
18
21
24
27
30
33
36
39
42
45
48
51
54
57
60
63
66
69
72
75
78
81
84
87
90
93
96
99
1683
进程已结束,退出代码0
'''2、将0-100所有3的倍数相加 含有3的 相加'''
i = 0
sum = 0
while i <= 100:
if (i % 3 == 0) or ( i % 10 == 3) or ( i // 10 == 3):
print(i)
sum += i
i += 1
print(sum)
运行结果:
0
3
6
9
12
13
15
18
21
23
24
27
30
31
32
33
34
35
36
37
38
39
42
43
45
48
51
53
54
57
60
63
66
69
72
73
75
78
81
83
84
87
90
93
96
99
2178
进程已结束,退出代码0
'''
3、奇数排序思想:先判断十位数上的大小,再排个位数上的大小
46,37,42
37,46,42
37,42,46
'''
a = 46
b = 37
c = 42
a10 = a // 10
b10 = b // 10
c10 = c // 10
print(a10, b10, c10)
if a10 > b10 and a10 > c10:
print(f"最大的数就是a:{a}")
elif b10 > c10 and b10 > a10:
print(f"最大的数就是b:{b}")
elif c10 > a10 and c10 > b10:
print(f"最大的数就是c:{c}")
elif a10 == b10:
if (a % 10) > (b % 10):
print("a大于b")
elif (a % 10) == (b % 10):
print("a等于b")
else:
print("a小于b")
elif a10 == c10:
if (a % 10) > (c % 10):
print("a大于c")
elif (a % 10) == (c % 10):
print("a等于c")
else:
print("a小于c")
elif b10 == c10:
if (b % 10) > (c % 10):
print("b大于c")
elif (b % 10) == (c % 10):
print("b等于c")
else:
print("b小于c")
运行结果:
4 3 4
a大于c
进程已结束,退出代码0
'''
4、归并排序
a = 46, b = 37, c = 42, d = 39
把ab放在一组,把cd放在一组
ab选出较大,cd选出较大值,然后 再把ac放在一起比较,选出谁是最大打印出来
同样的方法选出最小打印出来
'''
a = 46
b = 237
c = 142
d = 99
# a比b大 b被淘汰
if a > b:
# c比d大
if c > d:
# bd被淘汰 直接比较a和c的大小
if a > c:
print("a最大")
elif a == c:
print("ac相等,且最大")
else:
print("c最大")
elif c == d:
if a > c:
print("a最大")
elif a == c:
print("acd相等,且最大")
else:
print("cd最大")
# c小于d c被淘汰
else:
if a > d:
print("a最大")
elif a == d:
print("ad相等,且最大")
else:
print("d最大")
elif a == b:
# c比d大
if c > d:
# bd被淘汰 直接比较a和c的大小
if a > c:
print("ab最大")
elif a == c:
print("abc相等,且最大")
else:
print("c最大")
elif c == d:
if a > c:
print("ab最大")
elif a == c:
print("abcd相等,且最大")
else:
print("cd最大")
# c小于d c被淘汰
else:
if a > d:
print("ab最大")
elif a == d:
print("abd相等,且最大")
else:
print("d最大")
# b大于a a被淘汰
else:
# c比d大
if c > d:
# bd被淘汰 直接比较a和c的大小
if b > c:
print("b最大")
elif b == c:
print("bc相等,且最大")
else:
print("c最大")
elif c == d:
if b > c:
print("b最大")
elif b == c:
print("bcd相等,且最大")
else:
print("cd最大")
# c小于d c被淘汰
else:
if b > d:
print("b最大")
elif b == d:
print("bd相等,且最大")
else:
print("d最大")
运行结果:
b最大
进程已结束,退出代码0
Gut Punch:
“这个名字的意思是‘由内脏(Gut)制成的混合饮料(Punch)’,但是同时也描述了饮用时的感受(重击腹部)。”