特定の範囲内の数字の合計が数字になる数をカウントするものを作成しようとしています。たとえば、合計が 17 になる整数を含む 2 桁の数はいくつありますか (89 はそのうちの 1 つです)。
これが私のコードです:
import math
print "Hey, lets solve Task 4 :)"
number1 = input ("How many digits do you want to look at? ")
number2 = input ("What would you like the digits to add up to? ")
final = []
if number1 == 1:
cow = range(0,10)
elif number1 == 2:
cow = range(10,100)
elif number1 == 3:
cow = range(100,1000)
elif number1 == 4:
cow = range(1000,10000)
elif number1 == 5:
cow = range(10000,100000)
elif number1 == 6:
cow = range(100000,1000000)
elif number1 == 7:
cow = range(1000000,10000000)
elif number1 == 8:
cow = range(10000000,100000000)
elif number1 == 9:
cow = range(100000000,1000000000)
elif number1 == 10:
cow = range(1000000000,10000000000)
number3 = cow[-1] + 1
number10 = number3 - 1
test = range(1,number10)
n = 0
while n < number3:
a = test[n]
a = str(a)
number4 = sum(int(x) for x in a)
if number4 == number2:
final.append(number4)
n = n + 1
print len(final)
これでうまくいくと思いますがIndexError: list index out of range
、 a = test[n] 行のエラーが発生し続けます
これは何が原因ですか?
ありがとうございました :)