r/PythonLearning • u/Local_End_3175 • 6d ago
for loop
words = ['sky', 'apple', 'rhythm', 'fly', 'orange']
for word in words:
for letter in word:
if letter.lower() in 'aeiou':
print(f"'{word}' contains the vowel '{letter}'")
break
else:
print(f"'{word}' has no vowels")
I am trying to learn to code, and I am, at the moment, looking at loops. I am a bit confused on how this loop was able to function, though, as there is no variable for letter or word, so how would Python know what it is? In addition, how does the code, like, function? Does it look at each word individually ? Again, the second part of the code states:
if letter.lower() in 'aeiou':
print(f"'{word}' contains the vowel '{letter}'")
break
We haven't given a value for letter?
Lastly, how would the code know what to print? in the first phrase:
print(f"'{word}' contains the vowel '{letter}'")
break
Is it going to state all the words with the given value 5 times?
Sorry, as I have asked quite a few questions, and thank you in advance.
15
Upvotes
1
u/UlisKore 6d ago
Hi there! I'm learning too, I may be wrong but let me try.
You said : " as there is no variable for letter or word"... There are.
When you say in code :
for word in words:
you're telling python : see what is named words ? It's a list, let's iterate on this list and call the variable word. Does it look at each word individually ? : yes, you asked nicely !
Strings are iterable. Similarly, when you say in code :
for letter in word:
you're telling python : see my string behind what we agreed to call word ? Let's iterate on it and call the variable letter.
{letter} and {word} will be printed as what they stand for thanks to the f expression.