入力した数値の前に10の累乗をすべて出力するPythonプログラムを作成しています。たとえば、入力が12345の場合、プログラムは10、100、1000、10000を出力する必要があります。これが私のプログラムです-
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
2回目に12345を入力しても、10と100しか出力されないことに注意してください。ここで何が問題になっていますか?