Ошибка индекса в Python(индекс вне диапазона)

given_number=str(input("Enter the number:"))
total=str(0)
num=0
while num<=len(given_number):
       total+=given_number[num]
       num+=1
print(total)  

Получил ошибку индекса. Где ошибка?

2 ответа

Решение

Проблема в вашем цикле while. По-видимому, ваш цикл повторяется через 0 до длины вашей входной строки, в то время как максимальный индекс 0 базовый список / массив / строка равен

Len(given_number)-1

Измените свой код следующим образом.

   given_number=str(input("Enter the number:"))
   total=str(0)
   num=0
   while num<len(given_number): # Note: I use < not <=
       total+=given_number[num]
       num+=1
   print(total)  

Я надеюсь, что это поможет вам преодолеть вашу проблему.

Вы добавляете "0" к входной строке. вы можете прямо как

print("0"+input())

Вместо этого используйте самый длинный метод для добавления чего-либо в строку.

Другие вопросы по тегам