Python 如果(x%i)==0,列表x如何运行
所以我现在正在学习编码几个星期,刚刚克服了一些我自己无法解释的事情Python 如果(x%i)==0,列表x如何运行,python,Python,所以我现在正在学习编码几个星期,刚刚克服了一些我自己无法解释的事情 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对吗?如果它这样做
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条件,它说:(字母%i)==0
对我来说,这意味着当我们开始第二个for循环时(5%2)==0(1)==0
我知道这实际上是不对的,因为在这种情况下,单词是一个变量,而不是一个列表。但是如果我设置字母,那么每个单词的位置,比如说,ox=len(0)对我来说也没有意义,这就是我的想法。不幸的是,shell给了我这个
2 ox
3 cat
2 lion
4 lion
5 tiger
2 bobcat
3 bobcat
6 bobcat
我真的不知道这个循环是如何工作的,但我真的想了解。我试过好几件事,但从逻辑上讲,什么都不管用
我希望你能帮助初学者:)p.S.抱歉我的英语不好哈哈首先,len(word)
不一定是5,它是当前单词的长度。首先是2,然后是3,然后是4,然后是5,然后是6。您已将其设置为仅当(字母%i)==0
时程序才会打印。对于长度为2的单词,只有当i==2
时才会发生这种情况(在2到7的范围内)。对于长度为3的单词,当i==3
时会发生这种情况。但是,对于长度为4的单词,当i==2
和i==4
时,会发生这种情况。通过查看我打印出来的值可以看到这一点
这有意义吗?如果您想让我澄清什么,只需留下一条评论:)缩进在Python中很重要。请修复
%
是模运算符。只要搜索“python模运算符”@RedCricket他似乎明白,他知道(5%2)
是1
。我不明白这个问题word
是一个值为字符串的变量。所以len(word)
是字符串的长度。在['ox','cat','lion','tiger','bobcat']中尝试单词:打印(word)
,您将看到word
是什么(提示:它不是列表)。好的,谢谢。我真的需要澄清。谢谢:)没问题。欢迎来到堆栈溢出!如果这解决了您的问题,您可以将答案标记为已接受,如果您愿意:)