我正在寫一個Python程序來打印輸入數字前的十個冪。例如,如果輸入12345,程序應輸出10,100,1000,10000這是我的計劃 -Python中的math.log
import math
limit = raw_input('Check until: ');
tenpowers=1
for i in range(1, int(limit)+1):
if math.log(i, 10)==tenpowers:
print 'tenpower! - ', i
tenpowers=tenpowers+1
我的程序正常工作只有當輸入值小於或等於100。這裏的輸出 -
D:\py>python prog.py
Check until: 100
tenpower! - 10
tenpower! - 100
D:\py>python prog.py
Check until: 12345
tenpower! - 10
tenpower! - 100
請注意第二次,當我輸入12345,它仍然輸出只有10和100.這裏怎麼了?
只是一個小竅門,你不需要用python中的';'結束代碼行(它會自動完成)。 – Killrawr
哦!我沒有注意到,我甚至都沒有注意到。我在工作中使用Java,而我對Python很陌生。沒有注意到我做到了。 :-) – MediumOne
@Killrawr:它不會自動完成。 Python不是Javascript,它需要分號作爲語句終止符,但如果它們丟失,則會奇蹟般地添加它們;它根本不需要語句終止符。 – abarnert