python练习
1、冒泡排序
list_b = [88, 44, 34, 44, -20, 72, 99]
for i in range(len(list_b) - 1):
for j in range(len(list_b[:-i])-1):
if list_b[j] > list_b[j + 1]:
list_b[j], list_b[j + 1] = list_b[j + 1], list_b[j]
print(list_b)
for i in range(len(list_b)-1):
for j in range(len(list_b)-i-1):
if list_b[j] > list_b[j + 1]:
list_b[j], list_b[j + 1] = list_b[j + 1], list_b[j]
print(list_b)
选择排序法:
list_b = [88, 44, 34, 44, -20, 72, 99, 72]
for i in range(len(list_b) - 1):
min_value_index = list_b.index(min(list_b[i:]), i)
list_b[i], list_b[min_value_index] = list_b[min_value_index], list_b[i]
print(list_b)
2、求最大公约数:
list_v = []
x = int(input('请输入x的值:'))
y = int(input('请输入y的值:'))
for i in range(1, x + 1):
if x % i == 0:
if y % i == 0:
list_v.append(i)
print('%d和%d的最大公约数为%d' % (x, y, max(list_v)))
2.1、用减法实现输出最大公约数
x = int(input('请输入x的值:'))
y = int(input('请输入y的值:'))
if x == y:
print(x)
elif x != y:
while x != y:
max_x_y = max(x, y) - min(x, y)
max_x_y_z = max(max_x_y, min(x, y)) - min(max_x_y, min(x, y))
x = max_x_y
y = max_x_y_z
print(x)
2.2:
穷举发
max_x_y = max(x, y)
min_x_y = min(x, y)
list_i = []
if x == y:
print(x)
else:
for i in range(min_x_y, 0, -1):
if max_x_y % i == 0 and min_x_y % i == 0:
list_i.append(i)
max_value = max(list_i) if len(list_i) > 0 else min_x_y
print(max_value)
3、99乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print('%d x %d' % (i, j), end=' ')
print()
for i in range(9, 0, -1):
for j in range(i, 0, -1):
print('%d x %d' % (i, j),end=' ')
print()
4、用嵌套循环的方式求阶梯和
sum09 = 0
for i in range(1, 11):
for j in range(1, i + 1):
sum09 = sum09 + (i * j)
print(sum09)
5、集合方法:
list_a = [2, 5, 7, 8, 22, 32]
list_b = [2, 5, 6, 18, 32]
list_c = set(list_b) ^ set(list_a) # 不再对面集合中的值,对称差集(项在list_a或list_b中,但不会同时出现在二者中)
print(list_c)。 {18, 22, 7, 8, 6}
list_d = set(list_b) & set(list_a) # 交集(项在list_b中,但不在list_a中)
print(list_d) 。{32, 2, 5}
list_e = set(list_b) | set(list_a) # 并集
print(list_e)。{32, 2, 5, 6, 7, 8, 18, 22}
list_f = set(list_b) - set(list_a) # 差集(项在list_b中,但不在list_a中)
print(list_f)。{18, 6}
浙公网安备 33010602011771号