Aktywne Wpisy

love2spooch +1151
Zgodnie z obietnicą i zgodą mireczka @aveniner dziś udało się skończyć książkę.Jedyne co na niej brakuje to tylko podpis Pani Moderator lub Pana Michała ;) i przy okazji robię #rozdajo - jakby ktoś chciał mieć taki sam zbiór to stworzę jeszcze raz taki sam :) #heheszki
@a__s
Lecimy w gorące ( ͡° ͜ʖ ͡°)
@a__s
Lecimy w gorące ( ͡° ͜ʖ ͡°)
źródło: Zdjęcie z biblioteki
Pobierz
WielkiNos +281
źródło: temp_file5271561409286591977
Pobierz




def DashInsert(string):
tab = list(string)
tab = map(int, tab)
for i in range(len(tab)):
print tab
if type(tab[i]) == int and tab[i] % 2 != 0:
if (i != len(tab)-1 and tab[i+1] % 2 != 0):
tab.insert(tab[i+1], '-')
else:
pass
else:
pass
print tab
Zadanie polega na tym, że wpisujemy string z liczbami i jeśli jest w nim 2x pod rząd liczba nieparzysta to wstawi między nimi myślnik. Przykład : '9987568' ---> '9-987-568'
Wyskakuje mi błąd:
Nie rozumiem skąd niby tam string, przecież przy insert nie powinno mi tego liczyć w pętli for, a do tego zrobiłem założenie if, że musi być to int, więc w jaki sposób ten nieszczęsny myślnik przechodzi przez to.
Co więcej jeśli puszę program to '-' wpisuje mi na końcu listy, a nie w miejscu tab[i+1], przykład na screenshotcie.
#python
źródło: comment_Jl29wzcPBfsmUaDy5lR9P2BKL5spOfk9.jpg
Pobierz@Melt: problem leży w tym fragmencie:
tab[i+1] % 2w momencie, gdy
tab[i+1]jest stringiem ('-'),insertpodajesz index, na który chcesz wsadzić element. co podajesz jako index?tab[i+1]. Czyli pobiera Ci element z listy, który w tym przypadku jest równy9- więc wsadza Ci na koniec. pewnie chciałeś zrobić coś takiego:tab.insert(i+1, '-'):)