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

Python循环结构、控制语句及综合应用问答

1.技术面试题

**(1)详细描述单调栈的工作原理和应用场景**

答:

原理

维护栈内元素单调递增 / 递减,新元素入栈前,弹出破坏单调性的栈顶,保持单调。

应用场景

排队比身高,搭积木找最大的空地

(2)详细描述单调队列的工作原理和应用场景**

答:

原理

队列内元素单调 递增 / 递减,新元素入队时,移除队尾破坏单调性的元素;按需(如滑动窗口)移除队首无效元素,动态维护区间极值。

应用场景

滑动窗口最值(如窗口内最大 / 小值)、数据流实时极值计算。

2.HR面试题

(1)如果竞争对手用双倍薪资挖你,你会怎么选择

答:薪资诱人,但我更看重当下团队的适配度。要是现在工作顺心、有成长,不会为钱盲目跳。当然要是这边长期不重视员工价值,那也得重新考虑,不过目前优先选留下,毕竟钱之外的东西也重要。

(2)我们觉得你今天表现一般,不符合岗位要求,你有什么想说的?

答:谢谢您可以直接告诉我,今天确实可能因为紧张没完全展现好,要是能麻烦您具体说说,那些地方和岗位要求有差距,哪怕这次没机会,这些建议也能帮我下次做得更好。对我来说,搞清楚问题在哪儿,比什么都重要,辛苦您了。

 3.选择题

(1)在Python中,以下哪个不是循环控制语句?

A. `break` B. `continue` C. `pass` D. `return`

答:D(pass 是占位语句,在循环里可起到空语句的作用)

2)以下代码的输出结果是什么?

```python
for i in range(5):
    if i == 3:
        continue
    print(i, end=' ')
```

A. `0 1 2 3 4` B. `0 1 2 4` C. `0 1 2` D. `3`

答:B

(3)完成以下代码,使其能够打印出1到100之间所有的偶数

```python
for i in range(1, 101):
    if ______:
        print(i, end=' ')
```

A. `i % 2 == 0` B. `i % 2 == 1` C. `i / 2 == 0` D. `i // 2 == 0`

答:A

(4)以下代码有一个错误,导致它无法正确计算1到10的和。请选择正确的修改方案

```python
sum = 0
i = 1
while i < 10:
    sum += i
    i += 1
print(sum)
```

A. 将`i < 10`改为`i <= 10` B. 将`i += 1`改为`i += 2` C. 将`sum += i`改为`sum = sum + i + 1` D. 将`i = 1`改为`i = 0`

答:A

(5)以下代码的输出结果是什么?

```python
for i in range(3):
    for j in range(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)`

答:A

(6)完成以下代码,使其能够打印出斐波那契数列的前10个数

```python
a, b = 0, 1
for _ in range(10):
    print(a, end=' ')
    ______
```

A. `a, b = b, a + b` B. `a, b = a + b, b` C. `a, b = b, a` D. `a, b = a + 1, b + 1`

答:A

(7)以下代码的输出结果是什么?

```python
i = 0
while i < 5:
    i += 1
    if i == 3:
        continue
    print(i, end=' ')
else:
    print("Done")
```

A. `1 2 3 4 5 Done` B. `1 2 4 5 Done` C. `1 2 4 5` D. `1 2 Done`

答:B

(8)以下代码的输出结果是什么?

```
for i in range(1, 5):
    for j in range(1, 5):
        if i * j > 10:
            break
        print(f"{i}*{j}={i*j}", end=" ")
    print()
```

A.

```
1*1=1 1*2=2 1*3=3 1*4=4 
2*1=2 2*2=4 2*3=6 2*4=8 
3*1=3 3*2=6 3*3=9 3*4=12 
4*1=4 4*2=8 4*3=12 4*4=16 
```

B.

```
1*1=1 1*2=2 1*3=3 1*4=4 
2*1=2 2*2=4 2*3=6 2*4=8 
3*1=3 3*2=6 3*3=9 
4*1=4 4*2=8 
```

C.

```
1*1=1 1*2=2 1*3=3 1*4=4 
2*1=2 2*2=4 2*3=6 2*4=8 
3*1=3 3*2=6 3*3=9 
```

D.

```
1*1=1 1*2=2 1*3=3 1*4=4 
2*1=2 2*2=4 2*3=6 2*4=8 
```

答:B

(9)以下代码的输出结果是什么?

```python
for i in range(4):
    for j in range(4):
        if (i + j) % 2 == 0:
            print("*", end="")
        else:
            print("#", end="")
    print()
```

A.

```
****
####
****
####
```

B.

```
*#*#
#*#*
*#*#
#*#*
```

C.

```
*#*#
*#*#
*#*#
*#*#
```

D.

```
****
****
****
****
```

答:B

(10)以下代码的输出结果是什么?

```python
count = 0
for i in range(1, 5):
    for j in range(1, 5):
        for k in range(1, 5):
            if i != j and j != k and i != k:
                count += 1
print(count)
```

A. `24` B. `36` C. `60` D. `64`

答:A

4.问答题

(1)Python中有哪几种基本的循环结构?请简要说明它们的语法和适用场景。

答:for循环和while循环

for循环

- 语法:for  变量    in   可迭代对象 :循环体  【for i in range(5):  print(i)】
- 适用场景:已知循环次数,或遍历次序元素时用

while循环

- 语法:while 条件: 循环体    【while num <10 : num+=1】
- 适用场景:有明显的循环条件

(2)Python中有哪些循环控制语句?它们各自的作用是什么?请给出示例说明。

答:break循环控制语句和continue循环控制语句

break循环环控制语句

作用:用于在循环执行过程中,当满足一定条件时,可以跳出循环(提前结束)

```python
#示例
for i in range(5):
    if i == 3:
        break
    print(i)  # 输出 0、1、2 
```

continue循环控制语句

作用:用于在循环结构中,当满足一定条件时可以跳过本次循环,接着下一轮循环。
#示例
for i in range(5):
    if i == 3:
        continue
    print(i)  # 输出 0、1、2、4
```

3)在Python的for循环中,range()函数扮演着重要角色。请详细说明range()函数的语法、参数含义和使用方法,并给出至少3个不同用法的示例

答:

range()函数的语法、参数含义和使用方法

 `range(a)`:`a` 为结束边界,生成 `0` 到 `a- 1` 的序列。
 `range(a, b)`:`a` 是起始值,`b` 是结束边界,生成 `a` 到 `b` 的序列,步长默认 `1`。
 `range(a, b, c)`:`a` 为步长,控制间隔,生成 `b `开始、按 `c`递增(`c>0`)或递减(`c<0`)到`c - 1` 的序列。


# 用法1:一个参数,生成 0-4
for i in range(5):
    print(i)  
# 用法2:两个参数,生成 2-5
for i in range(2,6):
    print(i)  
# 用法3:三个参数,生成 1、3、5、7、9(步长2)
for i in range(1,10,2):
    print(i)  
```

(4)什么是嵌套循环?请解释嵌套循环的工作原理。

答:嵌套循环就是 “循环里套循环”,**外层循环每执行一次,内层循环会完整执行一轮** 。

(5)编写代码,判断两个矩形的关系

题目描述

判断两个矩形之间的关系:包含,重叠,相离

![image-20250304171517426](https://zh-1258460726.cos.ap-nanjing.myqcloud.com//typora-pic/image-20250304171517426.png)

输入输出描述

输入两行,每行四个数据,分别是矩形的中心坐标x、y和矩形的宽、高

输出两者的关系

示例1

> 输入:
>
> 2.5 4 2.5 43
>
> 1.5 5 0.5 3
>
> 输出:
>
> 包含

示例2

> 输入:
>
> 1 2 3 5.5
>
> 3 4 4.5 5
>
> 输出:
>
> 重叠

示例3

> 输入:
>
> 1 2 3 3
>
> 40 45 3 2
>
> 输出:
>
> 相离

答:


x1,y1,w1,h1=map(float,input().split(" "))
x2,y2,w2,h2=map(float,input().split(" "))
distance=((x1-x2)**2+(y1-y2)**2)**0.5
if distance+w2/2<=w1/2 and distance+h2/2<=h1/2 or distance+w1/2<=w2/2 and distance+h1/2<=h2/2:
    print("包含")
elif distance>w1/2+w2/2:
    print("相离")
else:
    print("重叠")
```

(6)编写代码,打印如下数字图案

```
                        1
                    1    2    1
                1    2    4    2    1
            1     2    4    8    4    2    1
        1    2    4    8    16    8    4    2    1
    1    2    4    8    16    32    16    8    4    2    1
1    2    4    8    16    32    64    32    16    8    4    2    1
```

答:

```python
for i in range(1,8):
    for k in range(7-i):
        print(" ",end=" ")
    for j in range(i):
        print(2**j,end=" ")
    for j in range(i-2,-1,-1):
        print(2**j,end=" ")
    print()
```

(7)编写代码,打印如下星星图案

菱形高度n,并打印出该高度下的菱形

```
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

```

答:

```python
n = 9
for i in range(1, n + 1):
    for j in range(abs(i - (n + 1) // 2)):
        print(" ", end="")
    stars = n - 2 * abs(i - (n + 1) // 2)
    for k in range(stars):
        print("*", end="")
    print()
```

(8)编写代码,求最小公倍数

**题目描述**

输入两个正整数,计算其最小公倍数,例如4和2的最小公倍数是4,3和5的最小公倍数是15

**输入输出描述**

输入两个正整数

输出最小公倍数

**示例1**

> 输入:
>
> 3 9
>
> 输出:
>
> 9

**示例2**

> 输入:
>
> 4 6
>
> 输出:
>
> 12

答:num1,num2=map(int,input().split(" "))
max_num=max(num1,num2)
for i in range(max_num,num1*num2+1):
    if i % num1==0 and i % num2 ==0:
        print(i)
        break

http://www.dtcms.com/a/511236.html

相关文章:

  • Typescript - Tuple 元祖类型(语法 / 简单使用 / 不可变元组 / 合并多个元组)详细入门教程
  • 成就系统概述
  • 仓颉编程(10)类的定义
  • 常见的域名注册网站报纸做垂直门户网站
  • 东营网站建设推广市政工程中标查询网
  • Llinux自动安装chrome与chromedriver
  • 低侧单向电流检测电路
  • 一款轻量级 Java CLI 工具,用于抓取、展示和导出 Exploit-DB 的漏洞数据
  • 运维效率翻倍:如何利用阿里云监控工具实现服务器智能运维?
  • [人工智能-大模型-29]:大模型应用层技术栈 - 第二层:Prompt 编排层(Prompt Orchestration)
  • 告别笔记局限!Blinko+cpolar让AI笔记随时随地可用
  • 【多线程】可重入锁 Reentrant Lock
  • 蓝牙低功耗(BLE)通信的中心设备/外围设备(连接角色)、主机/从机(时序角色)、客户端/服务器(数据交互角色)的理解
  • 3.5 面向连接的传输: TCP
  • 深度学习(10)-PyTorch 卷积神经网络
  • 网站没有做实名认证推广员是干什么的
  • 异步的feign请求报错:No thread-bound request found
  • 北京建设公司网站建设重庆有网站公司
  • YUV实战案例:一个网络摄像头的工作流程(速通)
  • 深入解析SCT分散加载文件
  • AIGC-Fooocus部署实践:从本地手动配置到云端一键启用的深度剖析
  • 数据结构——最小(代价)生成树
  • NumPy的hstack函数详细教程
  • 020数据结构之优先队列——算法备赛
  • 华为OD-23届考研-测试面经
  • 阿里云网站建设步骤wordpress防止频繁搜索
  • 西宁网站建设哪家公司好东莞seo网站推广
  • 2025年AI IDE的深度评测与推荐:从单一功能效率转向生态壁垒
  • OSS存储的视频,安卓和PC端浏览器打开正常,苹果端打开不播放,什么原因?
  • Spark的shuffle类型与对比