Python技术知识点试题讲解(循环结构类)

发布时间:2026/8/25 8:14:57

Python技术知识点试题讲解(循环结构类)
1.技术知识点1详细描述单调栈的工作原理和应用场景答单调栈是栈的变体核心是栈内元素保持严格单调性递增或递减通过入栈时弹出破坏单调性的元素来维护秩序每个元素仅入栈、出栈一次时间复杂度 O (n)。应用场景集中在处理数组中元素的前后关系问题下一个 / 上一个更大小元素柱状图最大矩形面积接雨水问题股票价格跨度等其优势是将暴力解法的 O (n²) 优化为 O (n)高效解决区间最值、边界查找类问题2详细描述单调队列的工作原理和应用场景答单调队列是一种保持队列内元素单调性递增或递减的队列结构核心是通过移除队列中破坏单调性的元素确保队首始终是当前区间的最值最大或最小。工作原理入队时移除队列中所有小于或大于当前元素的元素保证单调性再加入新元素队首元素为当前有效区间的最值若队首超出区间范围则出队每个元素仅入队、出队一次时间复杂度 O (n)。应用场景滑动窗口最值如长度为 k 的窗口中最大值 / 最小值区间内最大 / 小值查询优化动态规划中的状态转移如求子数组最大和等。优势高效解决滑动窗口类问题避免暴力枚举的 O (nk) 复杂度降至 O (n)。3.选择题1在Python中以下哪个不是循环控制语句A.breakB.continueC.passD.return答C2以下代码的输出结果是什么foriinrange(5):ifi3:continueprint(i,end )A.0 1 2 3 4B.0 1 2 4C.0 1 2D.3答C3完成以下代码使其能够打印出1到100之间所有的偶数foriinrange(1,101):if______:print(i,end )A.i % 2 0B.i % 2 1C.i / 2 0D.i // 2 0答A4以下代码有一个错误导致它无法正确计算1到10的和。请选择正确的修改方案sum0i1whilei10:sumi i1print(sum)A. 将i 10改为i 10B. 将i 1改为i 2C. 将sum i改为sum sum i 1D. 将i 1改为i 0答A5以下代码的输出结果是什么foriinrange(3):forjinrange(2):print(f({i},{j}),end )A.(0,0) (0,1) (1,0) (1,1) (2,0) (2,1)B.(0,0) (1,0) (2,0) (0,1) (1,1) (2,1)C.(0,0) (0,1) (0,2) (1,0) (1,1) (1,2)D.(0,0) (1,1) (2,2)答A6完成以下代码使其能够打印出斐波那契数列的前10个数a,b0,1for_inrange(10):print(a,end )______A.a, b b, a bB.a, b a b, bC.a, b b, aD.a, b a 1, b 1答A7以下代码的输出结果是什么i0whilei5:i1ifi3:continueprint(i,end )else:print(Done)A.1 2 3 4 5 DoneB.1 2 4 5 DoneC.1 2 4 5D.1 2 Done答D8以下代码的输出结果是什么foriinrange(1,5):forjinrange(1,5):ifi*j10:breakprint(f{i}*{j}{i*j},end )print()A.1*11 1*22 1*33 1*44 2*12 2*24 2*36 2*48 3*13 3*26 3*39 3*412 4*14 4*28 4*312 4*416B.1*11 1*22 1*33 1*44 2*12 2*24 2*36 2*48 3*13 3*26 3*39 4*14 4*28C.1*11 1*22 1*33 1*44 2*12 2*24 2*36 2*48 3*13 3*26 3*39D.1*11 1*22 1*33 1*44 2*12 2*24 2*36 2*48答B9以下代码的输出结果是什么foriinrange(4):forjinrange(4):if(ij)%20:print(*,end)else:print(#,end)print()A.**** #### **** ####B.*#*# #*#* *#*# #*#*C.*#*# *#*# *#*# *#*#D.**** **** **** ****答C10以下代码的输出结果是什么count0foriinrange(1,5):forjinrange(1,5):forkinrange(1,5):ifi!jandj!kandi!k:count1print(count)A.24B.36C.60D.64答A4.问答题1Python中有哪几种基本的循环结构请简要说明它们的语法和适用场景。答Python 中有两种基本循环结构for 循环语法python运行for 变量 in 可迭代对象:循环体适用场景遍历已知序列如列表、字符串、range()适合固定次数的循环。while 循环语法python运行while 条件:循环体适用场景根据条件动态控制循环次数如用户输入验证、游戏主循环。关键区别for 适用于已知迭代次数或遍历集合while 适用于条件驱动条件为真时持续执行2Python中有哪些循环控制语句它们各自的作用是什么请给出示例说明。答Python 中有三种循环控制语句用于改变循环的执行流程break作用立即终止整个循环跳出循环体。示例python运行for i in range(5):if i 3:break # 当i3时终止整个循环print(i) # 输出0 1 2continue作用跳过当前循环的剩余代码直接进入下一次迭代。示例python运行for i in range(5):if i 3:continue # 当i3时跳过后续代码继续下一次循环print(i) # 输出0 1 2 4else 子句循环后执行作用循环正常结束未被 break 中断时执行 else 块。示例python运行for i in range(3):print(i) # 输出0 1 2else:print(“循环正常结束”) # 执行此语句总结语句 作用 执行时机break 终止整个循环 满足条件时立即跳出循环continue 跳过当前迭代继续下一次 满足条件时跳过剩余循环代码else 循环正常结束后执行 循环未被 break 中断时触发3在Python的for循环中range()函数扮演着重要角色。请详细说明range()函数的语法、参数含义和使用方法并给出至少3个不同用法的示例。答生成连续整数默认起始 0步长 1python运行for i in range(5):print(i) # 输出0, 1, 2, 3, 4指定起始和终止值步长 1python运行for i in range(2, 6):print(i) # 输出2, 3, 4, 5指定步长间隔如偶数序列python运行for i in range(0, 10, 2):print(i) # 输出0, 2, 4, 6, 8递减序列步长为负数python运行for i in range(5, 0, -1):print(i) # 输出5, 4, 3, 2, 1遍历列表索引结合 len()python运行fruits [‘apple’, ‘banana’, ‘cherry’]for i in range(len(fruits)):print(f索引 {i}: {fruits[i]})关键点左闭右开range(start, stop) 包含 start但不包含 stop。步长不能为 0否则会引发 ValueError。高效性range 返回的是惰性对象节省内存转换为列表需显式调用 list(range(…))。4什么是嵌套循环请解释嵌套循环的工作原理。答嵌套循环是指在一个循环内部包含另一个循环的结构外层循环控制内层循环的执行次数内层循环作为外层循环体的一部分会被完整执行多次。工作原理外层循环启动外层循环的第一次迭代开始。内层循环完整执行内层循环从第一次迭代到最后一次迭代完整运行遍历所有可能的情况。外层循环推进内层循环结束后外层循环进入下一次迭代重复步骤 2。终止条件直到外层循环的所有迭代完成整个嵌套循环才结束。简言之外层循环每执行一次内层循环会执行完整一轮类似 “大循环套小循环”总执行次数为外层循环次数 × 内层循环次数。5编写代码判断两个矩形的关系题目描述判断两个矩形之间的关系包含重叠相离输入输出描述输入两行每行四个数据分别是矩形的中心坐标x、y和矩形的宽、高输出两者的关系示例1输入2.5 4 2.5 431.5 5 0.5 3输出包含示例2输入1 2 3 5.53 4 4.5 5输出重叠示例3输入1 2 3 340 45 3 2输出相离答# 在此写入你的代码defget_rect_coordinates(x,y,width,height):计算矩形的四个顶点坐标half_widthwidth/2half_heightheight/2leftx-half_width rightxhalf_width topyhalf_height bottomy-half_heightreturnleft,right,top,bottomdefcheck_relationship(rect1,rect2):判断两个矩形的关系left1,right1,top1,bottom1rect1 left2,right2,top2,bottom2rect2# 判断是否相离if(right1left2orleft1right2ortop1bottom2orbottom1top2):return相离# 判断是否包含if(left1left2andright1right2andtop1top2andbottom1bottom2):return包含if(left2left1andright2right1andtop2top1andbottom2bottom1):return包含# 否则为重叠return重叠# 读取输入rect1_infolist(map(float,input().split()))rect2_infolist(map(float,input().split()))# 计算矩形坐标rect1get_rect_coordinates(*rect1_info)rect2get_rect_coordinates(*rect2_info)# 判断关系并输出结果relationshipcheck_relationship(rect1,rect2)print(relationship)**6编写代码打印如下数字图案**python1121124211248421124816842112481632168421124816326432168421答# 在此写入你的代码defprint_pattern(rows):foriinrange(rows):# 计算当前行的数字列表nums[2**jforjinrange(i1)]nums[2**jforjinrange(i-1,-1,-1)]# 转换为字符串并连接line .join(map(str,nums))# 计算前导空格数leading_spaces(rows-i-1)*4# 每个缩进4个空格# 打印完整行print( *leading_spacesline)# 打印7行图案print_pattern(7)**7编写代码打印如下星星图案**python*****************************************答defprint_diamond(n):# 上半部分包括中间行foriinrange(n):spacesn-i-1stars2*i1print( *spaces**stars)# 下半部分不包括中间行foriinrange(n-2,-1,-1):spacesn-i-1stars2*i1print( *spaces**stars)# 打印9行的菱形n5print_diamond(5)**8编写代码求最小公倍数****题目描述**输入两个正整数计算其最小公倍数例如4和2的最小公倍数是43和5的最小公倍数是15**输入输出描述**输入两个正整数 输出最小公倍数**示例1**输入39输出9**示例2**输入46输出12答 python# 在此写入你的代码defgcd(a,b):计算最大公约数whileb:a,bb,a%breturnadeflcm(a,b):计算最小公倍数returna*b//gcd(a,b)# 读取输入a,bmap(int,input().split())# 计算并输出最小公倍数print(lcm(a,b))

相关新闻

5分钟上手教程:CVE-2019-11708 Firefox浏览器漏洞利用链快速运行完整指南

5分钟上手教程:CVE-2019-11708 Firefox浏览器漏洞利用链快速运行完整指南

2026/8/25 8:14:57

5分钟上手教程:CVE-2019-11708 Firefox浏览器漏洞利用链快速运行完整指南 【免费下载链接】CVE-2019-11708 Full exploit chain (CVE-2019-11708 & CVE-2019-9810) against Firefox on Windows 64-bit. 项目地址: https://gitcode.com/gh_mirrors/cv/CVE-2019…

SAP ABAP利用SMW0与CL_FDT_XLSP实现Excel模板化报表生成

SAP ABAP利用SMW0与CL_FDT_XLSP实现Excel模板化报表生成

2026/8/25 8:04:56

1. 项目缘起:当标准ALV报表无法满足业务需求时在SAP ABAP的日常开发中,我们经常需要生成格式复杂、样式多变的Excel报表。标准的ALV输出到Excel功能(REUSE_ALV_GRID_DISPLAY或CL_SALV_TABLE)虽然方便,但在面对固定表头…

Spring Boot项目启动后自动打开浏览器的实现方案与避坑指南

Spring Boot项目启动后自动打开浏览器的实现方案与避坑指南

2026/8/25 8:04:56

1. 项目缘起:一个被低估的“提效”小功能如果你和我一样,经常在本地开发Spring Boot应用,那么下面这个场景你一定不陌生:在IDE里点击运行按钮,控制台开始刷刷地打印启动日志,直到最后出现熟悉的“Started A…

Java面试必考:数据结构核心原理与应用解析

Java面试必考:数据结构核心原理与应用解析

2026/8/25 8:54:58

1. 为什么数据结构是Java面试的必考项十年前我刚参加工作时,第一次Java面试就被问到了HashMap的实现原理。当时支支吾吾说不清楚红黑树和链表的转换阈值,结果自然是被淘汰。后来做了面试官才发现,数据结构问题能直接暴露候选人的基本功扎实程…

银行信贷系统测试全流程与高频面试解析

银行信贷系统测试全流程与高频面试解析

2026/8/25 8:54:58

1. 银行信贷测试的核心价值与行业现状在金融科技高速发展的今天,银行信贷系统作为资金流转的核心枢纽,其稳定性和安全性直接关系到金融机构的运营风险。作为一名经历过数十个银行测试项目的从业者,我深刻体会到信贷系统测试与其他领域测试的本…

Redis面试核心考点与实战技巧解析

Redis面试核心考点与实战技巧解析

2026/8/25 8:54:58

1. Redis面试核心考点解析Redis作为当今最流行的内存数据库之一,已经成为技术面试中的必考内容。根据我多年参与技术面试和辅导的经验,80%的Redis相关问题都集中在以下五个核心领域。掌握这些知识点不仅能应对面试,更能提升日常开发中对Redis…

FreeRTOS任务创建详解:从xTaskCreate参数到调度原理

FreeRTOS任务创建详解:从xTaskCreate参数到调度原理

2026/8/25 8:54:58

1. 为什么“创建任务”是FreeRTOS入门的第一道门槛FreeRTOS不是一块板砖,而是一套精密运转的微型操作系统内核。很多人刚接触时以为“写个while(1)循环不就完事了”,结果一上手就卡在第一个函数——xTaskCreate()。这背后根本不是语法问题,而…

大模型面试必问:KV-Cache机制解析与优化

大模型面试必问:KV-Cache机制解析与优化

2026/8/25 8:54:58

1. 为什么大模型面试必问KV-Cache机制?这个问题几乎出现在所有大模型相关岗位的技术面试中,根本原因在于KV-Cache直接关系到推理效率这个核心生产指标。当面试官抛出这个问题时,实际上是在考察候选人对以下三个维度的理解深度:自回…

DashPlayer 切分长视频实操指南:粘贴时间戳,一步到位切好章节

DashPlayer 切分长视频实操指南:粘贴时间戳,一步到位切好章节

2026/8/25 8:44:58

DashPlayer 切分长视频实操指南:粘贴时间戳,一步到位切好章节 【免费下载链接】DashPlayer 为英语学习者量身打造的视频播放器,助你通过观看视频、沉浸真实语境,轻松提升英语水平。#美剧 #播放器 #听力 项目地址: https://gitco…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/24 19:53:32

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/24 19:56:07

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/24 21:16:09

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

2026/8/25 0:04:34

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory Meta Description:GetQzonehistory 是一个QQ空间历史说…

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

2026/8/25 0:04:35

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

2026/8/25 0:04:35

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/22 4:13:47

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/22 1:32:34

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…