Dlaczego mój kod nie działa?

1

W założeniu miał podzielić ciąg znaków na 2 części

a = 'abcd'
x,y = a[:len(a)/2], a[len(a)/2:]

Wyrzuca błąd

Traceback (most recent call last):
File "python", line 2, in <module>
TypeError: slice indices must be integers or None or have an __index__ method"
5

Strzelam, że chodzi o to, że dzielenie operatorem / w Pythonie 3 zwraca floata, a żeby mieć integera trzeba zastosować chyba div.

2

Ten kod co podałeś, u mnie działa - python 2.7.
W pythonie 3.x pewnie dostajesz pewnie double i musisz skonwertować na inta :P

1

Krótko pisząc

a = 'abcd'
x,y = a[:int(len(a)/2)], a[int(len(a)/2):]
2

Hej,
może tak wystarczy:

a = 'abcd'
x,y = a[:len(a) // 2], a[len(a) // 2:]

Pzdr... :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1