python - 如果(x % i)== 0,列表 x 是如何操作的
问题描述
所以我现在正在学习编码几个星期,刚刚克服了一些我自己无法解释的事情。
for word in ['ox', 'cat', 'lion', 'tiger', 'bobcat']:
for i in range(2, 7):
letters = len(word)
if (letters % i) == 0:
print(i, word)
当我们定义变量时,letter = len(word)
这字面意思是letter = 5
对的吗?如果它这样做并且我们转到 if 条件,它说:(letter % i) == 0
对我来说,这意味着当我们开始第二个 for 循环时,(5 % 2) == 0 (1) == 0
我知道这实际上是不正确的,因为word
在这种情况下是一个变量而不是一个列表。但是,如果我这样设置letter
,那么每个单词的位置ox= len(0)
对我来说都没有意义,这就是我的想法。不幸的是,shell 给了我这个
2 ox
3 cat
2 lion
4 lion
5 tiger
2 bobcat
3 bobcat
6 bobcat
我真的无法弄清楚这个循环是如何工作的,但我真的很想了解。我尝试了几件事,但在逻辑上没有任何效果。
我希望你能帮助初学者:) PS对不起我的英语不好哈哈
解决方案
一开始,len(word)
不一定是5,它是当前单词的长度。所以,首先是 2,然后是 3,然后是 4,然后是 5,然后是 6。你已经做到了,所以程序只在(letters % i) == 0
. 对于长度为 2 的单词,仅在i == 2
. 对于长度为 3 的单词,当 时发生这种情况i == 3
。但是,对于长度为 4 的单词,这发生在 wheni == 2
和 also i == 4
。您可以通过查看 i 打印出来的值来看到这一点。
那有意义吗?如果您想让我澄清任何事情,请发表评论:)
推荐阅读
- mongodb - 允许设置分析的 MongoDB 用户角色
- cron - 如何在本地运行 Oban 作业?
- arrays - Swift 数组移动函数的行为与您预期的不同 - 为什么?
- email - 向电子邮件添加其他元素
- javascript - Jinja 表,当列 == 值时,将 div 添加到特定列
- docker - Dockerfile 中的环境变量
- python - Python 创建列表列表
- css - 如何在离子选择选项标签中有 2 种颜色
- java - 使用 Java 在 Windows 机器上的 cmd 上运行 shell 命令
- react-native - 世博链接fb post url方案