男模Python-程序员面试经典案列

已知一个数字A,然后在1-100内找出I+J等于A .

自己初步编辑程序:

错误一:明显看到if i==i,j==j 是不对的,一个数永远都等于自己。

107 108 109注释,先运行一下

小知识点:

波浪线可以鼠标放上去看看错误提示

红色(代表错误,必须修改),黄色(警告,不修改也可以但是最好还是修改掉)

打印的10次PASS,并不是想到的预期

下面添加嵌套

嵌套我记得

数值=10*i+j

问题来了,左边写什么?

c=10*i+j

print(f"c = {c}")

那么c又代表什么意思呢?

c就是一个变量,记录一下10*i+j=几

然后打印出来

然后就扔掉

c就是这样一个东西,目的就是让你知道10*i+j的值

没有其他意义

有嵌套了,但是出现的结果并不符合预期,不是连续的数字

c放到103行,103行是谁的语句块,它是102行if的语句块

继续修改,发现总于出现连续的语句了,而c却是从11开始的。

For i in range(0,10), 结果如下总于是连续的数字了。

行下一步弄一个列表吧

list = []

for k in range(0,10)

    list.append(k*2+1)#z这种添加奇数到列表的方式

print(list)

显示104行,超出范围。

检查原因:

原因是,j的值最大到10,但是list只有10个元素(中括号里面最大到9,记得是从0开始数)

后面的 i j 都受到list范围的影响,要和List范围保持一致

这样就得到c的数值

继续修改:

106行应该在循环里面,107行print(“pass”)

别的出现结果的时候都是print , pass 为什么不需要呢?

在 Python 中,pass 是一个空操作语句,它不执行任何操作,仅用作占位符,表示“这里什么也不做”。

因为pass不需要输出

在 Python 中,pass 语句本身不会影响同一代码块(如 if、for、def 等)中的后续语句执行。如果 pass 后面还有语句,它们会正常执行。

示例分析

1. pass 后面有其他语句

Python

复制

下载

if True:

    pass

    print("这行会执行!")  # 正常执行

输出:

text

复制

下载

这行会执行!

pass 只是占位符,不执行任何操作,但不会阻止后续代码运行。

2. pass 在循环或函数中

python

复制

下载

def my_func():

    pass  # 空操作

    return 42  # 仍然会执行

print(my_func())  # 输出 42

输出:

text

复制

下载

42

即使 pass 出现在函数开头,也不会影响 return 语句的执行。

3. pass 在 try-except 块中

python

复制

下载

try:

    pass  # 什么都不做

    print("try 块继续执行")  # 仍然执行

except:

    print("不会执行这里")

print("程序继续")

输出:

text

复制

下载

try 块继续执行

程序继续

pass 不会中断 try 块的执行流程。

关键结论

pass 仅表示“什么都不做”,不会影响同一代码块中的后续代码。

如果 pass 后面有语句,Python 会继续正常执行它们。

如果 pass 是代码块的最后一行,则相当于“空块”,不会产生任何效果。

对比 pass 和 continue/break

pass:空操作,继续执行后续代码。

continue(循环中):跳过本次循环剩余代码,进入下一次迭代。

break(循环中):直接退出整个循环。

总结

pass 不会阻止后续代码执行,它只是一个占位符,确保语法正确。如果你的本意是“跳过剩余代码”,应该用 continue(循环)或 return(函数),而不是 pass。

初学者的一大难题是:

如何缩进,缩进多少呢?

先把104行对齐对齐好,104行应该是有4个空格,你只敲了一个空格

103行也不对,103行要按shift加tab

也就是103行,现在是多了4个空格啊,你要把这多的4个空格去掉

104105行都退4个空格

所以才叫嵌套循环啊,红线是4个缩进,绿线是8个缩进

如果a=33,结果是没有的

list里面全部都是奇数对不对

奇数+奇数=偶数

a=33是奇数不是偶数,当然就找不到

如果a=34,就出现结果c=34

List.append(k*2+1)

就是添加,只不过这里append在一个循环里面

所以它才会添加多次,看起来就像添加了一整个列表,

实际上是把列表的每一个元素都执行了一次append

现在需要知道具体的数值

print(f"{c} = {list[i]} + {list[j]},i = {i}, j={j}")

现在显示就是具体的数字,到目前为止,已知一个数字A,然后在1-100内找出I+J等于A .这个问题就解决了。

关注我,分享更多干货

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值