python-3.x - if语句的else部分在python中的for循环之外
问题描述
我有以下python代码
# helper function to simulate brute force attack on low entropy randomness
def simulate_brute_force_attk_key(message:str, cipher:str)->bytes:
for k in range(2**31):
bf_key = KeyStream(k)
for i in range(len(message)):
xor_value = message[i] ^ cipher[i]
if xor_value != bf_key.get_key_byte():
break
else:
return k
return False
上面的代码执行没有错误。我的问题是当我们在 for 循环中对应 if 语句的 else 部分工作时它是如何工作的,而 else 部分在内部 for 循环之外。我的理解是 if 和相应的 else 部分都应该在 for 循环中。我认为我的理解是错误的。请求您帮助理解这一点。谢谢
解决方案
推荐阅读
- windows - Windows 批处理文件和带有 & 符号的处理路径
- python - 有没有办法通过 Shopify Python API 获取订单的“销售渠道名称”字段?
- r - 我缺少什么来构建这个情节?
- python-3.x - 如何将 python 代码(笔记本的一部分)从代码保存到 GDrive 中的文件
- google-apps-script - 如何使用谷歌应用程序脚本匹配一列并替换另一张表中的不同(相应)列?
- excel - 如何在 VBA 中使 for 循环更有效?
- mysql - 无法使我的存储过程在 MySQL 中工作
- python - 如何防止嵌套循环中熊猫系列的IndexError?
- sql - FROM 子句在 PostgreSQL 中的 UPDATE 语句中究竟做了什么?
- proxy - tinyproxy 动态允许传出连接