Ошибка | IndexError
Выдает ошибку IndexError.
for i in range(27):
ch=i
sys=3
p=''
while ch>0:
p=str(ch%sys)+p
ch//=sys
a=p
print(a[0])
Ответы (2 шт):
При ch = 0 цикл while не выполняется, значит не объявляется переменная a и тогда её нельзя вывести в строке print(a[0]). Можете, например, начинать цикл for с единицы.
for i in range(1, 27):
ch=i
sys=3
p=''
while ch>0:
p=str(ch%sys)+p
ch//=sys
a=p
print(a[0])
У вас в коде в цикле
for i in range(27):первым значениемiявляется0, следовательно в данном циклеwhile ch>0:, гдеch=i, не будет проходить в цикл, а значит вprint(a[0])вы пытаетесь напечатать несуществующую переменную. Решение: переопределите переменнуюaза циклwhileили измените сам циклwhileтак, чтоб она переменнаяaопределялась доprint(a[0]).-
list index out of range
Она возникает, когда вы пытаетесь обратиться к несуществующующему индексу.
Решение: попробуйте изменить код так, чтоб в print(a[0]) не передовался пустой список, так как в пустом списке нет нулевого индекса. Например, вы можете в циклfor i in range(27): изменить так for i in range(1, 27):