我正在通过Python课程从Treehouse学习一些例子,我很难理解下面的代码。
据我所知,我们正在通过"You got this!"
循环。但是,我不确定if
声明实际上在做什么;谁可以给我解释一下这个?
for letter in "You got this!":
if letter in "oh":
print(letter)
for letter in "You got this!":
Will loop through every letter in the string:
first iteration: Y
second iteration: o
third iteration: u ....you get how this works
在每个循环(或迭代)期间,如果字母是'o'或'h',它将打印该字母。
所以它贯穿“你得到了这个”中的每个字母,如果字母是“o”或“h”则打印出来。我在IDE中运行代码,这是我得出的结论。我的代码打印o o h
letter in "oh"
实际上只是letter in ['o', 'h']
的(IMHO误导性)简写
评论是解释:
for letter in "You got this!": # Iterating trough `"You got this!"` (so 1st time `'Y'` 2nd time `'o'` 3rd time `'u'` ans so on...)
if letter in "oh": # checking if the letter is `'o'` or `'h'`, if it is, print it, other wise go to the next one
print(letter) # printing it
这就是为什么输出的结果是:
o
o
h
首先,您正在迭代字符串"You got this!"
中的每个字符,这就是for循环的目的。正如您所说,这是您已经清楚的事情。
第二,在这种情况下,if
声明基本上是这样说:
如果当前
letter
在字符串"oh"
中,则执行以下缩进行。
因此,如果当前迭代中print(letter)
的值为letter
或"o"
,则将执行语句"h"
。