蓝桥杯python语言基础(3)——循环结构
一、for语句
理解range函数
range(start, stop, step)
- start: 序列开始的数字(默认为0)。
- stop: 序列结束的数字(不包含stop)。
- step: 步长(默认为1)。
练习
输出在 l 和 r 之间的所有偶数:
print(*(i for i in range(int(input()), int(input()) + 1) if i % 2 == 0))
练习
计算奇数和,偶数和
n=int(input()) print(*(sum(range(i, n + 1, 2)) for i in (1, 2)))
习题P152-反倍数
题目描述
给定三个整数 a,b,c,如果一个整数既不是 a 的整数倍也不是 b 的整数倍还不是 c的整数倍,则这个数称为反倍数。
请问在 1 至 n 中有多少个反倍数。
输入描述
输入的第一行包含一个整数 n。
第二行包含三个整数 a,b,c 相邻两个数之间用一个空格分隔。
其中,1≤n≤1000000,1≤a≤n,1≤b≤n,1≤c≤n1≤n≤1000000,1≤a≤n,1≤b≤n,1≤c≤n。
输出描述
输出一行包含一个整数,表示答案。
n = int(input()) a, b, c = map(int, input().split()) print(sum(1 for i in range(1, n + 1) if i % a and i % b and i % c))
if i % a and i % b and i % c是条件判断,只有当i既不能被a整除,也不能被b整除,还不能被c整除时,条件为真。
习题P153-洁净数
题目描述
小明非常不喜欢数字 2,包括那些数位上包含数字 2 的数。如果一个数的数位不包含数字 2,小明将它称为洁净数。
请问在整数 1 至 n 中,洁净数有多少个?
输入描述
输入的第一行包含一个整数 n
输出描述
输出一行包含一个整数,表示答案
print(sum('2' not in str(i) for i in range(1, int(input()) + 1)))
sum(...):对生成的布尔值序列进行求和,True会被当作1,False会被当作0,最终得到洁净数的数量并打印输出。
习题P191-特别数的和
题目描述
小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。
请问,在 1 到 nn 中,所有这样的数的和是多少?
输入描述
输入格式:
输入一行包含两个整数 n(1≤n≤104)n(1≤n≤104)。
输出描述
输出一行,包含一个整数,表示满足条件的数的和。
n = int(input()) SUM = 0for i in range(n+1):str_n = str(i)contains = Falsefor j in str_n:if j in "2019":contains = Truebreakif contains:SUM += i print(SUM)n = int(input()) print(sum(i for i in range(1, n + 1) if any(j in '2019' for j in str(i))))
习题P2411-星期几
给定一天是一周中的哪天,请问 n 天后是一周中的哪天?
输入格式
输入第一行包含一个整数 w,表示给定的天是一周中的哪天,w 为 1 到 6 分别表示周一到周六,w为 7 表示周日。
第二行包含一个整数 n。
输出格式
输出一行包含一个整数,表示 n 天后是一周中的哪天,1 到 6 分别表示周一到周六,7表示周日。
w = int(input()) n = int(input())num = (w + n - 1) % 7 + 1 print(num)
w + n是计算当前日期加上经过天数后的总天数。
-1是为了将计数调整为从0开始,这样(w + n - 1) % 7的结果范围就是0到6。最后
+1是将结果调整回题目要求的1到7的表示方式,其中1到6代表周一到周六,7代表周日 。
二、while语句
练习
求最大公约数
def gcd(a, b):while b:a, b = b, a % breturn a
break和continue是用于控制循环流程的语句
三、循环嵌套
练习
求阶乘之和
def sum_of_factorials(n):result = 0for i in range(1, n + 1):factorial = 1for j in range(1, i + 1):factorial *= jresult += factorialreturn resultnum = 5 print(f"1到{num}的阶乘之和为: {sum_of_factorials(num)}")
例题3-1 采购
找到满足以下条件的母鸡、公鸡和小鸡的数量:
- 母鸡、公鸡和小鸡的总数为90只。
- 母鸡每只15元,公鸡每只10元,小鸡每只5元,总花费为500元。
count = 0 for x in range(91):for y in range(91):for z in range(91):count += 1if x+y+z == 90 and 15*x+10*y+5*z == 500:print(x,y,z)print("循环次数 ",count)
优化代码
- 母鸡最多可能有
500 // 15 ≈ 33.33,取整为 33,循环范围到 34- 公鸡最多可能有
500 // 10 = 50,循环范围到 51- 将
z = 90 - x - y代入第二个方程15 * x + 10 * y + 5 * z == 500中,得到一个只关于x和y的方程,减少计算量。count = 0 for x in range(34):for y in range(51):z = 90-x-ycount += 1if x+y+z == 90 and 15*x+10*y+5*z == 500:print(x,y,z)print("循环次数 ",count)通过数学计算进一步优化
for x in range(6):y = 10 - 2 * xz = 80 + xprint(x,y,z)
例题3-2 水仙花数
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153=13+53+33,所以 153 是一个水仙花数。
for a in range(1, 10):for b in range(0, 10):for c in range(0, 10):num = a * 100 + b * 10 + cif num == a ** 3 + b ** 3 + c ** 3:print(num)for num in range(100,1000):num100 = (num // 100)num10 = (num // 10) % 10num1 = num % 10if num == num100**3 + num10**3 + num1**3:print(num)
例题3-3 素数
如果
n能被某个i整除,说明n不是素数,将prime设为False并跳出循环L = int(input()) R = int(input())for n in range(L,R+1):prime = Trueif n<= 1:prime = Falsefor i in range(2,int(n**0.5) + 1):if n % i == 0:prime = Falsebreakif prime:print(n)
例题3-4 日期
输出2000年至2026年每一天的日期
for year in range(2000, 2026):for month in range(1, 13):if month in [4, 6, 9, 11]:days_in_month = 30elif month == 2:if (year % 4 == 0 and year % 100!= 0) or (year % 400 == 0):days_in_month = 29else:days_in_month = 28else:days_in_month = 31for day in range(1, days_in_month + 1):print(f"{year}-{month:02d}-{day:02d}")
例题3-5 完美数
一个数字如果等于它的因子之和(不包含它本身),那么这个数字称之为完美数。 例如6=1+2+3,28=1+2+4+7+14。 求出1-n中所有的完美数并输出。
输入:一个整数n(n≤10000)n(n≤10000)
输出:对于每个完美数输出1行
【分析】 枚举1-n中的每个数字,对于这个数字,求出它的所有因子,将其全部加起来判断是否等于本身。
n = int(input())for num in range(2, n + 1):factor_sum = 0for factor in range(1, num):if num % factor == 0:factor_sum += factorif factor_sum == num:print(num)
相关文章:
蓝桥杯python语言基础(3)——循环结构
一、for语句 理解range函数 range(start, stop, step) start: 序列开始的数字(默认为0)。stop: 序列结束的数字(不包含stop)。step: 步长(默认为1)。 练习 输出在 l 和 r 之间的所有偶数: pri…...
微服务网关鉴权之sa-token
目录 前言 项目描述 使用技术 项目结构 要点 实现 前期准备 依赖准备 统一依赖版本 模块依赖 配置文件准备 登录准备 网关配置token解析拦截器 网关集成sa-token 配置sa-token接口鉴权 配置satoken权限、角色获取 通用模块配置用户拦截器 api模块配置feign…...
23【进制的理解】
很多人可能听过计算机的最底层是2进制执行,但是原理并不知道,我们今天先不讨论那么复杂的问题,先讨论什么是进制 1910,10并不是1个字符,而是2个字符,也就是说在10进制里面没有“10”这个字符,1…...
jemalloc 5.3.0的tsd模块的源码分析
一、背景 在主流的内存库里,jemalloc作为android 5.0-android 10.0的默认分配器肯定占用了非常重要的一席之地。jemalloc的低版本和高版本之间的差异特别大,低版本的诸多网上整理的总结,无论是在概念上和还是在结构体命名上在新版本中很多都…...
【Convex Optimization Stanford】Lec3 Function
【Convex Optimization Stanford】Lec3 Function 前言凸函数的定义对凸函数在一条线上的限制增值扩充? 一阶条件二阶条件一些一阶/二阶条件的例子象集和sublevel set关于函数凸性的扩展(Jesen Inequality)保持函数凸性的操作非负加权和 & 仿射函数的…...
深入 Rollup:从入门到精通(三)Rollup CLI命令行实战
准备阶段:初始化项目 初始化项目,这里使用的是pnpm,也可以使用yarn或者npm # npm npm init -y # yarn yarn init -y # pnpm pnpm init安装rollup # npm npm install rollup -D # yarn yarn add rollup -D # pnpm pnpm install rollup -D在…...
wangEditor富文本编辑器,Laravel上传图片配置和使用
文章目录 前言步骤1. 构造好前端模版2. 搭建后端存储3. 调试 前言 由于最近写项目需要使用富文本编辑器,使用的是VUE3.0版本所以很多不兼容,实际测试以后推荐使用wangEditor 步骤 构造好前端模版搭建后端存储调试 1. 构造好前端模版 安装模版 模版安…...
chrome源码剖析—进程通信
Chrome 浏览器采用多进程架构(multi-process architecture),这种架构使得每个浏览器标签、扩展、插件、GPU 渲染等都在独立的进程中运行。为了确保不同进程之间的高效通信,Chrome 使用 进程间通信(IPC, Inter-Process …...
JJJ:linux时间子系统相关术语
文章目录 墙上时间内核管理的各种时间无时钟滴答模式(tickless mode 或 no-tick mode)简要介绍具体实现动态时钟滴答 Dynamic Ticks完全无时钟滴答(Full Tickless) nohz sleep单触发模式 oneshot mode 墙上时间 真实世界的真实时…...
0 基础学运维:解锁 K8s 云计算运维工程师成长密码
前言:作为一个过来人,我曾站在技术的门槛之外,连电脑运行内存和内存空间都傻傻分不清,完完全全的零基础。但如今,我已成长为一名资深的k8s云计算运维工程师。回顾这段历程,我深知踏上这条技术之路的艰辛与不…...
大一计算机的自学总结:位运算的应用及位图
前言 不仅异或运算有很多骚操作,位运算本身也有很多骚操作。(尤其后几个题,太逆天了) 一、2 的幂 class Solution { public:bool isPowerOfTwo(int n) {return n>0&&n(n&-n);} }; 根据二进制表示数的原理&#…...
计算机毕业设计Django+Tensorflow音乐推荐系统 机器学习 深度学习 音乐可视化 音乐爬虫 知识图谱 混合神经网络推荐算法 大数据毕设
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
AI 图片涌入百度图库
在这个信息爆炸的时代,我们习惯了通过搜索引擎来获取各种想要的信息和图片。然而,现在打开搜索引擎看到的却是许多真假难辨的信息——AI图片,这部分数据正以惊人的速度涌入百度图库,让小编不禁想问:未来打开百度图库不…...
可爱狗狗的404动画页面HTML源码
源码介绍 可爱狗狗的404动画页面HTML源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果 效果预览 源码获取 可爱狗狗的404动画页面HTML源码...
【微服务与分布式实践】探索 Dubbo
核心组件 服务注册与发现原理 服务提供者启动时,会将其服务信息(如服务名、版本、所在节点的网络地址等)注册到注册中心。服务消费者则可以从注册中心发现可用的服务提供者列表,并与之通信。注册中心会存储服务的信息,…...
OpenCSG月度更新2025.1
1月的OpenCSG取得了一些亮眼的成绩 在2025年1月,OpenCSG在产品和社区方面继续取得了显著进展。产品方面,推出了AutoHub浏览器自动化助手,帮助用户提升浏览体验;CSGHub企业版功能全面升级,现已开放试用申请,…...
C++封装红黑树实现mymap和myset和模拟实现详解
文章目录 map和set的封装map和set的底层 map和set的模拟实现insertiterator实现的思路operatoroperator- -operator[ ] map和set的封装 介绍map和set的底层实现 map和set的底层 一份模版实例化出key的rb_tree和pair<k,v>的rb_tree rb_tree的Key和Value不是我们之前传统意…...
二次封装的方法
二次封装 我们开发中经常需要封装一些第三方组件,那么父组件应该怎么传值,怎么调用封装好的组件原有的属性、插槽、方法,一个个调用虽然可行,但十分麻烦,我们一起来看更简便的方法。 二次封装组件,属性怎…...
消息队列篇--通信协议篇--网络通信模型(OSI7层参考模型,TCP/IP分层模型)
一、OSI参考模型(Open Systems Interconnection Model) OSI参考模型是一个用于描述和标准化网络通信功能的七层框架。它由国际标准化组织(ISO)提出,旨在为不同的网络设备和协议提供一个通用的语言和结构,以…...
Python实现U盘数据自动拷贝
功能:当电脑上有U盘插入时,自动复制U盘内的所有内容 主要特点: 1、使用PyQt5创建图形界面,但默认隐藏 2、通过CtrlAltU组合键可以显示/隐藏界面 3、自动添加到Windows启动项 4、监控USB设备插入 5、按修改时间排序复制文件 6、静…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...



