while循环错误

时间:2012-02-12 15:48:44

标签: python python-3.x

我正在尝试学习python, 我正在尝试编写我之前在python中使用的C / C ++代码,任何人都可以帮我找到这个代码中的错误....

#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")

你可以推荐几本商品书来学习python,现在我正在阅读文档而不是初学者......我知道C / C ++

2 个答案:

答案 0 :(得分:7)

让我们看看这个:

temp = x
while temp>0:
    temp = temp % 10

使用示例(x=12345)。

temp = 12345
12345>0
temp = 12345%10 = 5
5>0
temp = 5%10 = 5
5>0
temp = 5%10 = 5
...

所以这是一个无限循环!

要获得最后一位数字(可能是你想要的),只需这样做:

temp = x%10

答案 1 :(得分:0)

关于学习Python的好书,我建议Head First Python。它很容易理解并利用您在C / C ++中的知识。