当前位置: 首页 > news >正文

列表、集合、字典的相关练习

1、使用列表推导式,输出1~100的所有素数

输入下面代码

# 定义一个辅助函数用来判断是否是素数
def is_prime(num):if num <= 1:return Falsefor i in range(2, int(num**0.5) + 1):   #int函数将结果转换为整数,向下取整if num % i == 0:return Falsereturn True# 使用列表推导式找出1到100的所有素数
prime_numbers = [x for x in range(1, 101) if is_prime(x)]# 打印素数列表
print(prime_numbers)

代码执行结果

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

在这段代码中for 循环是素数检查的核心。它从 2 开始(因为 1 不是素数)到 int(num**0.5) + 1 结束。这里使用 num**0.5 是因为一个合数(非素数)必定有一个因子小于或等于它的平方根。int() 函数用来将浮点数转换为整数,确保循环的上限是整数。

2、使用列表推导式,输出200~400之间能被5或6整除的数

 输入下面代码

a = [x for x in range(200,401) if x%5==0 or x%6==0]
print(a)

代码运行结果

[200, 204, 205, 210, 215, 216, 220, 222, 225, 228, 230, 
234, 235, 240, 245, 246, 250, 252, 255, 258, 260, 264, 
265, 270, 275, 276, 280, 282, 285, 288, 290, 294, 295, 
300, 305, 306, 310, 312, 315, 318, 320, 324, 325, 330,335, 336, 340, 342, 345, 348, 350, 354, 355, 360, 365,366, 370, 372, 375, 378, 380, 384, 385, 390, 395, 396, 
400]

3、使用集合推导式,输出1~100的所有素数

输入下面代码

方法也和前面一样,只是输出结果为集合

def is_prime(num):if num < 2:return Falsefor i in range(2, int(num**0.5) + 1):if num % i == 0:return Falsereturn True# 使用集合推导式找出1到100的所有素数
prime_numbers_set = {x for x in range(2, 101) if is_prime(x)}# 打印素数集合
print(prime_numbers_set)

代码执行结果

{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97}

4、使用字典推导式将{”a“:1,”b“:2,“C”:3,“d”:4,”e“:5,”F“:6}的键中小写字母转换为大写字母,大写字母转换为小写字母

输入下面代码

# 原始字典
original_dict = {"a": 1, "b": 2, "C": 3, "d": 4, "e": 5, "F": 6}# 使用字典推导式转换键的大小写
new_dict = {key.swapcase(): value for key, value in original_dict.items()}print(new_dict)

代码运行结果

{'A': 1, 'B': 2, 'c': 3, 'D': 4, 'E': 5, 'f': 6}
http://www.lryc.cn/news/372540.html

相关文章:

  • 填报志愿选大学专业,文科生如何选专业?
  • 如何实现跨域
  • 从零开始利用树莓派+扬声器,实现简单的蓝牙音箱,手机连接放歌
  • 今年的就业环境不容乐观,你想好怎么应对了吗
  • 测试 halcon measure_projection 算子
  • 网络安全岗位必须知道到:高性能抓取,多线程,异步逆向分析(Js逆向破解/APP逆向破解)反爬原理和解决方法,不然你的Python会有Bug
  • lua网站开发中如何制作自定义模块
  • 线性规划问题——单纯形算法
  • ADS基础教程20 - 电磁仿真(EM)参数化
  • NAND flash测试-雷龙发展
  • CMake的学习之路
  • 算法体系-22 第二十二节:暴力递归到动态规划(四)
  • Docker:利用Docker搭建一个nginx服务
  • docker Pulling fs layer 含义
  • c#中上传超过30mb的文件,接口一直报404,小于30mb的却可以上传成功
  • VRRP跟踪接口及认证(华为)
  • 梯度提升树GBDT系列算法
  • 探索智慧农业系统架构的设计与应用
  • 【C语言】一篇文章带你深度理解函数
  • 荣耀手机删除系统APP
  • vue+elementui+springboot图片上传
  • 路由器怎么设置局域网?
  • Linux2(文件类型分类 基本命令2 重定向)
  • c->c++(一):部分KeyWord
  • 【iOS】YYModel源码阅读笔记
  • C++Qt做一个鼠标在按钮上悬浮3s显示一个悬浮窗口
  • sslh一键在一个端口上运行多个服务(KALI工具系列二十三)
  • Vue27-内置指令04:v-once指令
  • Pytorch环境配置的方法
  • 数字化制造案例分享以及数字化制造能力评估(34页PPT)