python第五次作业

有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币
[10, 8, 5, 3, 27, 99]

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,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".

zhishu=[]
for i in range(2,100):
    for a in range(2,i-1):
        if i % a == 0:
            break
    else:
        zhishu.append(i)


for x in range(2,len(zhishu)):
    if zhishu[x] - zhishu[x-1] ==2:
        print(f"{zhishu[x-1]}和{zhishu[x]}是孪生数")
print()


给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

arr = [10, 8, 5, 3, 27, 99]
arr_max = arr[0]
arr_min = arr[0]
arr_sum = 0
for a in arr:
    if a > arr_max:
 	    arr_max = a
    if a < arr_min:
 	    arr_min = a
    arr_sum += a

print(f"最大值是{arr_max}")
print(f"最小值是{arr_min}")
print(f"平均值是{arr_sum / len(arr)}")


将list中的重复数据去重,至少使用两种方案

old_list = [1,2,5,5,3,3,4,2]
new_list = []
for i in old_list:
    if i not in new_list:
        new_list.append(i)
print(new_list)

#使用集合set
new_list = list(set(old_list))
print(new_list)


两个列表进行合并操作

#合并列表
a = [1,2,"haha","hehe"]
b = ["zhouhao","nihao",520,456789]
#将b合并到a
a.extend(b)
print(a)
#将a合并到b
b.extend(a)
print(b)


使用列表判断一个列表是否在另外一个列表中

a = [1,2,3,4,5,6,7,8,9,10,44,55,22,321]
b = [1,2,3,4,5,6,7,8,9,10]
if set(a) > set(b):
    print("b列表在a列表中")
else:
    print("a列表在b列表中")


列表的反转  列表的排序

#列表的反转和排序
a = [1,2,5,5,3,3,4,2]
a.reverse()
print(a)
#排序
a.sort()
print(a)


如何将0-10随机存入列表中

import random
# 如何将0-10随机存入列表中
arr = list()
for i in range(20):
    a = random.randint(0, 10)
    arr.append(a)
print(arr)



存在一个1~n的连续列表,在其中不小心重复了一个值,请找出这个重复值
[1,2,3,4,5]

res = 0
arr = [1, 4, 2, 3, 4, 5]
for i in range(0, len(arr)):
	res ^= i ^ arr[i]
print(res)



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值