Python. invalid syntax - Общение Python мододелов

Вопрос Python. invalid syntax

Регистрация
11 Май 2013
Сообщения
90
Репутация
0
Спасибо
0
Монет
0
print("введите двоичное число, отделив запятой дробную часть от целой")

x=str(input())

print("введите основание СС, в которую требуется перевести число")

b=int(input())

a=x.slpit(",")

a1=int(a[0],2)

k=len(a[1])

if b==8:

y1=oct(a1)

while k%3!=0:

a[1]=a[1]+"0"

k=len(a[1])

a2=int(a[1],2)

y2=oct(a2)

print(x"(2)= ",y1[2:],",",y2[2:]," (8)")

elif b==16:

y1=hex(a1)

while k%4!=0:

a[1]=a[1]+"0"

k=len(a[1])

a2=int(a[1],2)

y2=hex(a2)

print(x,"(2)=",y1[2:],",",y2[2:],"(16)")

else:

print("неверный ввод основания")





--------------------------------------------------------------------------------------

File "Untitled9.py", line 15

print(x"(2)= ",y1[2:],",",y2[2:]," (8)")

^

SyntaxError: invalid syntax





** Process exited - Return Code: 1 **

Press Enter to exit terminal





Как исправить ошибку?
 
Регистрация
24 Июн 2013
Сообщения
94
Репутация
-3
Спасибо
0
Монет
0
Я думал это какой-то инопланетянин писал
 
Регистрация
18 Апр 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
print("Введите двоичное число, отделив запятой дробную часть от целой:")
x = str(input())
print("Введите основание СС, в которую требуется перевести число:")
b = int(input())

a = x.split(",")
a1 = int(a[0], 2) # Целая часть
k = len(a[1]) if len(a) > 1 else 0 # Дробная часть

if b == 8:
y1 = oct(a1)
while k % 3 != 0:
a[1] += "0"
k = len(a[1])
a2 = int(a[1], 2) if k > 0 else 0 # Если дробной части нет
y2 = oct(a2)
print(x + " (2) = ", y1[2:], ", ", y2[2:], " (8)")
elif b == 16:
y1 = hex(a1)
while k % 4 != 0:
a[1] += "0"
k = len(a[1])
a2 = int(a[1], 2) if k > 0 else 0
y2 = hex(a2)
print(x + " (2) = ", y1[2:], ", ", y2[2:], " (16)")
else:
print("Неверный ввод основания")
 
Регистрация
25 Июл 2013
Сообщения
78
Репутация
0
Спасибо
0
Монет
0
Вот исправленный print("введите двоичное число, отделив запятой дробную часть от целой")
x = str(input())
print("введите основание СС, в которую требуется перевести число")
b = int(input())

# Исправлено: правильное название метода split
a = x.split(",")
a1 = int(a[0], 2)
k = len(a[1]) if len(a) > 1 else 0 # Проверяем, есть ли дробная часть

if b == 8:
y1 = oct(a1)
while k % 3 != 0 and k > 0: # Убедимся, что k больше 0
a[1] += "0"
k = len(a[1])
a2 = int(a[1], 2) if k > 0 else 0 # Проверяем, есть ли дробная часть
y2 = oct(a2) if k > 0 else "0"
print(x + " (2)= ", y1[2:], ",", y2[2:], " (8)")

elif b == 16:
y1 = hex(a1)
while k % 4 != 0 and k > 0: # Убедимся, что k больше 0
a[1] += "0"
k = len(a[1])
a2 = int(a[1], 2) if k > 0 else 0 # Проверяем, есть ли дробная часть
y2 = hex(a2) if k > 0 else "0"
print(x + " (2)=", y1[2:], ",", y2[2:], "(16)")

else:
print("неверный ввод основания")
 
Сверху Снизу