Resolved: Why "n" gets included in my list for the following code?
lis = []
inp = 0
while inp != "n":
inp = input("enter sequence of nos and type n after all digits has been entered \n>>>")
lis.append(inp)
print("Here is the list : ",lis)
print("Here is the tuple : ",tuple(lis))
Hey Swarntam,
Thank you for your question!
Think about the order of the events in your code. First, inp = 0
. We check whether inp != "n"
. It is not, so we enter the while
-loop. We input a number, say 1, and assign that value to inp
. In line 5, we append inp
to the lis
variable. Next, the program goes back to line 3 and checks whether inp != "n"
. It is because we've just set it equal to 1. So, we enter the while
-loop again. Let's type n
this time, so that inp = "
n"
. The next line tells the program to append "n"
to the lis
variable. So, we get a list of the form [1, "n"]
. Again, the program goes back to line 3 and checks whether inp
is different from "n"
. It is not because we've just set it equal to "n"
. So, we don't enter the loop and skip directly to line 6 which prints out the list.
An easy fix to this problem would be to add an if
-statement before appending inp
to the list:
while inp != "n":
inp = input("enter sequence of nos and type n after all digits has been entered \n>>>")
if inp != "n":
lis.append(inp)
Hope this helps!
Kind regards,
365 Hristina