import random
num = 0
coins = [10, 8, 5, 3, 27, 99]
for c in coins:
if c % 2 ==0:
num += c // 2
else:
num += c // 2 + 1
print(f"用户最少需要{num}次,可以拿完硬币")
2.primes = []
for i in range(2,101):
flag = True
for j in range(2,i // 2):
if i % j == 0:
flag = False
break
if flag:
primes.append(i)
index = 0
print(primes)
while index < len(primes) - 1:
first = primes[index]
second = primes[index + 1]
if second- first == 2:
print(f"{first}和{second}之间是孪生素数")
index += 1
3.
(1)使用opi系统
print(f"最大值是{max(arr)}")
print(f"最小值是{min(arr)}")
print(f"和值是{sum(arr)}")
print(f"平均值是{sum(arr) / len(arr)}")
(2)不使用opi系统
arr_max = arr[0]
arr_min = arr[0]
arr_sum = 0
for i in arr:
if i > arr_max:
arr_max = i
if i < arr_min:
arr_min = i
arr_sum += i
print(f"最大值{arr_max}")
print(f"最小值{arr_min}")
print(f"和值{arr_sum}")
print(f"平均值{arr_sum / len(arr)}")
4.
(1)
list_1 = [1,3,4,6,8,2,3]
result = list(set(list_1))
print(result)
优点:操作简单;
缺点:使用set方法无法保证去重后的顺序
(2)
list_1 = [1,3,4,6,8,2,3]
list_2 = list(set(list_1))
list_2.sort(key = list_1.index)
print(list_2)
5.
A.第一种
list_1 = [1,2,3,4]
list_2 = [2,3,4,5,6]
list_1.extend(list_2)
print(list_1)
B.第二种
list_1 = [1,2,3,4]
list_2 = [2,3,4,5,6]
list_1 += list_2
print(list_1)
注意:在使用 += 或 extend() 方法合并列表时,会直接在第一个列表中添加第二个列表的元素,并不会创建新的列表
C.第三种
list_1 = [1,2,3,4]
list_2 = [2,3,4,5,6]
merged_list = list_1 + list_2
print(merged_list)
注意:merged也可以被concat替用。两者都是python中常用与列表合并的函数!
6.使用列表判断一个列表是否在另外一个列表中
list1 = [1,2,3,4]
list2 = [2,3,4,5,6,7]
for i in list1:
if i not in list2:
print("列表1不在列表2中")
break
else:
print("列表1在列表2中")
break
7.
1.列表排序
a=[4,3,2,-43]
print(sorted(a))
print(sorted(a, key=abs))#按绝对值进行排序
[-43, 2, 3, 4]
[2, 3, 4, -43]
2.列表反转
ls=[2,4,6,7,89]
for i in ls:
ls.reverse()
print("反转后的元素为:%s"%ls)
8.
import random
arr = list()
for i in range(20):
a = random.randint(0,10)
arr.append(a)
print(arr)