Can some one explain below code | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 1

Can some one explain below code

name=input("Enter a Name: ") i=0 temp_var = "" while i<len(name): if name[i] not in temp_var: temp_var+=name[i] print(f"{name[i]} : {name.count(name[i])}") i=i+1 #OUT PUT # Enter a Name: hello world # h : 1 # e : 1 # l : 3 # o : 2 # : 1 # w : 1 # r : 1 # d : 1 not understood "not in" for "o" character condition I have learn if condition is true the will go to if block if not the will go outside how is counting 0 3 times if condition is not meeting

25th Aug 2022, 2:22 PM
Amol Bhandekar
Amol Bhandekar - avatar
8 Answers
+ 3
count will not increase. The function count() returns the frequency.. Ex: "aaabc".count('a') returns 3. 'a' is 3 times in string. Check your temp_var is "helo wrd". you are already find frequemcy of 'l' by name.count('l') and adding 'l' to temp_var; so need to print again. that's what 'l' not in temp_var do. skips second 'l'.
25th Aug 2022, 3:06 PM
Jayakrishna 🇮🇳
+ 2
'h' not in temp_var true, so adding to temp_var; printing char with its count. 'e' not in temp_var true, so adding to temp_var; printing char with its count. 'l' not in temp_var true, so adding to temp_var; printing char with its count. 'l' not in temp_var false, out of if block. #it is in temp_var by previous iteration. 'o' not in temp_var true, so adding to temp_var; printing char with its count. This is enough I think.. Repeated same next... Hope it helps..
25th Aug 2022, 2:44 PM
Jayakrishna 🇮🇳
+ 2
No it will not print when name[i] is 'l' in second time.. See the code with printing i index value . It skips repeated value indexes. name=input("Enter a Name:\n ") i=0 temp_var = "" while i<len(name): if name[i] not in temp_var: temp_var+=name[i] print(f"{i}: {name[i]} : {name.count(name[i])}") i=i+1 edit: skips 3, 7, 9.
25th Aug 2022, 3:25 PM
Jayakrishna 🇮🇳
+ 1
@Jayakrishna Thanks for quick help can you explain me this The 'l' not in temp_var false, out of if block. means its go to i=i+1 then how the count will increase? which is mentioned in print function if will go outside the block the the print statement will not execute
25th Aug 2022, 2:56 PM
Amol Bhandekar
Amol Bhandekar - avatar
+ 1
Yes sir Understood but if the condition is not true / not meet for second 'i' cause its already in string then how it will count means how it will go to the print statement
25th Aug 2022, 3:16 PM
Amol Bhandekar
Amol Bhandekar - avatar
+ 1
Okay sir thanks for quick help 🙂 🙂 🙂
25th Aug 2022, 3:29 PM
Amol Bhandekar
Amol Bhandekar - avatar
+ 1
Hope it clear now... You're welcome.
25th Aug 2022, 3:31 PM
Jayakrishna 🇮🇳
- 1
Hi
26th Aug 2022, 1:44 PM
HackerX
HackerX - avatar