第五次作业

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)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值