Ask your own question, for FREE!
MIT 6.189 A Gentle Introduction to Programming Using Python (OCW) 10 Online
OpenStudy (anonymous):

Hi there, I trying to learn Python but here i lost the connection: x = 0 y = 0 while x < 5: for t in "Hello": y = y + 1 print("x " + str(x) + " y " + str(y)) x = x + 1 What is the connection between for t in "Hello": and str(y) how the programs get the lenght of the word hello ??

OpenStudy (microbot):

for t in 'Hello': means that it takes every letter of the string 'Hello'. t='H' t='e' t='l' etc so what it does is : for every letter in the string it adds 1 to y.

OpenStudy (anonymous):

i got it so everything what is under the for loop is been executed as well ( y = y + 1)

OpenStudy (anonymous):

'for t in "Hello":' iterates over the string "Hello", putting each letter into the variable t. All this code does with that information though is increment the value in y (which starts at 0), such that after that for loop finishes executing, y is equal to the number of letters in "Hello". It is a little bit confusing because 'for t in "Hello":' seems to suggest that you want to do something with each letter in "Hello". Python has a built in len() function that can give you the length of a string, so if all you want is for y to equal the length of the string, y = len("Hello") works just fine. If you want do something as many times as there are letters in hello, its a bit more verbose but "for i in range(0,len("Hello")):' seems to better describe what you are trying to do.

OpenStudy (microbot):

@myndless great answer

OpenStudy (anonymous):

thanks for the answers !

Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!
Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!