Top.Mail.Ru
Ответы

Вылазит ошибка в питон

В питоне вылазит ошибка
import re

print("Введи значение A в 9 системе счисления")
Error = 1
while Error == 1:
try:
A = float(input())
U = str(A)
d = []
for x in range(len(U)):
d.append(U[x])
d.remove('.')
for x in range(len(d)):
if int(d[x]) > 8:
print("число не корректно введи A заново")
break
else:
Error = 0
print("Введи значение B в 9 системе счисления , B>A")
continue
except ValueError:
print("число не корректно введи A заново")

# проверка на корректность ввода числа B
Error = 1
while Error == 1:
try:
B = float(input())
if B > A:
U = str(B)
d = []
for x in range(len(U)):
d.append(U[x])
d.remove('.')
for x in range(len(d)):
if int(d[x]) > 8:
print("число не корректно введи B заново")
break
else:
Error = 0
print("введи число C в 9 системе счисления , C<=B-A")
continue
else:
print("число не корректно введи B заново")
continue
except ValueError:
print("число не корректно введи B заново")
# проверка на корректность ввода числа C
Error = 1
I = B - A
P = str(I)
I = float(P)
while Error == 1:
try:
C = float(input())
if C < I:
U = str(C)
d = []
for x in range(len(U)):
d.append(U[x])
d.remove('.')
for x in range(len(d)):
if int(d[x]) > 8:
print("число не корректно введи C заново1")
break
else:
Error = 0
continue
else:
print("число не корректно введи C заново2")
continue
except ValueError:
print("число не корректно введи C заново3")
# функция перевода числа x из системы счисления 9 в систему счисления 10
def perevod910(x):
osnovanie = 9
kolvoCelixZnakov = 0
StepenChisla = 0
suma = 0
b = []
c = []
x = str(x)
for i in range(len(x)):
if x[i] != '.':
b.append(x[i])
else:
kolvoCelixZnakov = i
break # создаем массив чисел содержащих числа до запятой
for i in range(kolvoCelixZnakov + 1, len(x)):
c.append(x[i]) # создаем массив чисел содержащих числа после запятой
b = b[::-1]
for i in range(len(b)):
b[i] = int(b[i]) * (osnovanie ** StepenChisla)
StepenChisla += 1 # переводим числа из 9 системы в 10 систему
StepenChisla = 0
for i in range(len(c)):
StepenChisla -= 1
c[i] = int(c[i]) * (osnovanie ** StepenChisla)
for i in range(len(b)):
suma += b[i] # обьединяем преобразованные числа до запятой и после запятой в число
for i in range(1, len(c)): # ограничиваем длину дробной части числа до 9 знаков после запятой
c[0] = c[0] + c[i]
b = c[0]
b = str(b)[0:8]
b = float(b)
c = []
c.append(b)
for i in range(len(c)):
suma += c[i]

return (suma)
perevod910(x)
IndexError: list index out of range

Был бы очень рад, если поможете)

По дате
По рейтингу
Аватар пользователя
Оракул

Без форматирования никто разбираться не будет
Специально для вас добавили блок кода сюда < >
Проверяйте индексацию в цикле, где-то вылазите за границы

Аватар пользователя
Мудрец

такого индекса нет