Reputation: 1
I am trying to learn python, I was trying write C/C++ code i used before in python, can anyone help me find whats wrong in this code....
#print 1st for 1 -> st or 2nd for 2 -> nd , etc
x = int(input('Enter a number :'))
temp = x
while temp>0:
temp = temp % 10
if temp == 1:
print (x, "st")
elif temp == 2:
print (x, "nd")
elif temp == 3:
print (x, "rd")
else:
print (x, "th")
and can you suggest few goods books to learn python, for now i was reading the documentation and its not for beginners...and i know C/C++
Upvotes: 0
Views: 112
Reputation: 2350
Regarding good books to learn Python, I would recommend Head First Python. It is very easy to understand and make use of your knowledge in C/C++.
Upvotes: 0
Reputation: 34116
Let's see how this:
temp = x
while temp>0:
temp = temp % 10
works, using an example (x=12345
).
temp = 12345
12345>0
temp = 12345%10 = 5
5>0
temp = 5%10 = 5
5>0
temp = 5%10 = 5
...
So it's an endless loop!
To get the last digit (which is probably what you want) just do this:
temp = x%10
Upvotes: 7