• python第三次作业


    拿硬币

    1. # 有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币
    2. # [10, 8, 5, 3, 27, 99]
    3. # 定义如题的带有5个元素的列表,表示五堆硬币
    4. list = [10,8,5,3,27,99]
    5. # 定义一个变量用来记录拿的次数
    6. get =0
    7. # 将列表遍历,如果元素是双数则只需拿除二次即可,如为单数则需+1次
    8. for i in list:
    9. if i % 2 == 0:
    10. get += i//2
    11. else:
    12. get +=i//2+1
    13. print(get)

    孪生数

    1. # 如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".
    2. import math
    3. # 定义一个空的数组,用于存放质数
    4. prime=[]
    5. # 找出质数并将质数放入数组中
    6. for i in range(2,101):
    7. flag = True
    8. for j in range(2,int(math.sqrt(i))+1):
    9. if i%j == 0:
    10. flag = False
    11. break
    12. if flag:
    13. prime.append(i)
    14. # 对数组进行遍历,找到孪生数
    15. for index in range(0,len(prime)-1):
    16. if prime[index]+2==prime[index+1]:
    17. print(f"{prime[index]} {prime[index+1]}||",end="")

    求最值

    1. # 给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和
    2. # 定义一个列表
    3. ran_num = [56,45,90,89,132,78,52,34,45,2,145,65,76]
    4. # 对数组进行遍历求最值
    5. max = ran_num[0]
    6. min = max
    7. num_sum = 0
    8. num_avg = 0
    9. for i in ran_num:
    10. # 求最大值
    11. if max < i:
    12. max = i
    13. #求最小值
    14. if min > i:
    15. min = i
    16. # 求和
    17. num_sum += i
    18. # 求平均值
    19. num_avg = num_sum/len(ran_num)
    20. print(max,min,num_sum,int(num_avg))

    数据去重

    1. # 将list中的重复数据去重,至少使用两种方案
    2. # 定义一个带重复元素的list
    3. list_num = [2,2,3,4,2,4,0,4,5,6,7,8,96]
    4. # 方法一:利用哈希表的无序不重复
    5. set_num = set(list_num)
    6. list_num = list(set_num)
    7. print(list_num)
    8. #方法二:对list中元素与下一位元素比较,找到重复元素后,将该元素移除list
    9. i = 0
    10. while i <len(list_num)-2:
    11. j=i+1
    12. while j<len(list_num)-1:
    13. if list_num[j] == list_num[i]:
    14. list_num.pop(j)
    15. j-=1
    16. j+=1
    17. i+=1
    18. print(list_num)

    列表合并

    1. # 两个列表进行合并操作
    2. # 定义两个列表
    3. list_1 = [5,5,4,3,2,4,75,87,5,9,0,2,9,]
    4. list_2 = [3,2,1,53,534,23,4,5,6,3,4,22,4]
    5. # 将两个表合并
    6. # 方法一:用extend函数
    7. list_1.extend(list_2)
    8. print(list_1)
    9. # 方法二:对list_2遍历,并添加到list_1的尾部
    10. for i in list_2:
    11. list_1.append(i)
    12. print(list_1)

    判断两个列表是否包含 

    1. # 使用列表判断一个列表是否在另外一个列表中
    2. # 定义两个列表
    3. list_1 = [1,2,3,4,3,5,6,7,4]
    4. list_2 = [1,4,6,3,5,3,5]
    5. # 将两个列表转成集合来判断
    6. set_1 = set(list_1)
    7. set_2 = set(list_2)
    8. # 求得两个集合的并集
    9. union = set_1.intersection(set_2)
    10. # 将并集和两个数组比较,判断
    11. if union == set_1:
    12. print("list_1在list_2中")
    13. elif union == set_2:
    14. print("list_2在list_1中")
    15. else:
    16. print("两个集合没有交集")


    列表的反转  列表的排序

    1. # 列表的反转  列表的排序
    2. # 定义一个列表
    3. list = [1,2,3,4,5,3,2,4]
    4. # 列表的反转
    5. i = 0
    6. j = len(list)-1
    7. while i
    8. list[i],list[j] = list[j],list[i]
    9. i += 1
    10. j -= 1
    11. print(list)
    12. # 列表的排序
    13. for i in range(0,len(list)-1):
    14. for j in range (i,len(list)):
    15. if list[i]>list[j]:
    16. list[i],list[j] = list[j],list[i]
    17. print(list)

    0~10的随机数添加到列表

    1. # 如何将0-10随机存入列表中
    2. import random
    3. # 定义一个列表,用于存储数据
    4. list1 = []
    5. # 将0~9的随机数循环十次添加到列表的尾部
    6. for i in range(10):
    7. random_num =random.randint(0,10)
    8. list1.append(random_num)
    9. print(list1)


    在连续列表中找重复值

    1. # 存在一个1~n的连续列表,在其中不小心重复了一个值,请找出这个重复值
    2. # 定义一个如题列表:其中重复值是“7”
    3. list1 = [1,2,3,4,5,6,7,7,8,9,]
    4. # 对list1遍历找到重复数
    5. for i in range (0,len(list1)-1):
    6. for j in range (i+1,len(list1)):
    7. if list1[i] == list1[j]:
    8. print(list1[i])
    9. break

  • 相关阅读:
    【CSDN Daily Practice】【二分】X的平方根
    实在智能AI+RPA:引领数字化转型的超自动化智能体
    递归结构体数组链表实现
    1.15 - 输入输出系统
    新学期的分享,立个flag吧
    SpringBoot复习:(60)文件上传的自动配置类MultipartAutoConfiguration
    java使用sigar获取服务器的信息
    【如何在Ubuntu 20.04系统上安装和使用Wine教程】
    AlCl -氯铝酸离子液体|FeCl -氯铁酸离子液体|ZnCl-氯锌酸离子液体金属络合系列离子液体
    【正点原子STM32连载】第十六章 外部中断实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
  • 原文地址:https://blog.csdn.net/m0_74618370/article/details/134007599