Witam! Kilka dni temu postanowiłem zacząć swoją przygodę z programowaniem. Ogarnąłem (albo też jeszcze nie) w Pythonie parę podstaw takich jak w temacie i próbuję się z tym bawić. Wymyśliłem program, którego fragment ma za zadanie utworzyć listę imion, które użytkownik będzie wpisywał, a następnie na podstawie tej listy utworzyć drugą listę ze słownikami, gdzie do jednego z kluczy jako przypisane wartości będą imiona z pierwszej listy.
imiona = []
"""wypelnienie pierwszej listy"""
imie = raw_input ("Podaj imie, zeby skonczyc napisz koniec: ")
while imie != "koniec":
imiona.append(imie)
imie = raw_input ("Podaj nastepne imie, zeby skonczyc napisz koniec: ")
"""skopiowanie pierwszej listy"""
slowniki = imiona
"""zamiana drugiej listy na slowniki"""
def zamiana(a):
slowniki[a] = {
'Imie': imiona[a],
'Oceny': []
}
return slowniki[a]
print imiona
zamiana(0)
print imiona
Mam problem z trzema ostatnimi linijkami, czyli testowaniem dla jednej wartości. Przed wykonaniem funkcji pierwsza lista wyświetla się normalnie tak jak była wpisywana, zaś po jej wykonaniu zamienia się ona w listę słowników, mimo tego, że na pierwszej liście nie przeprowadzałem żadnej 'edycji'.
Czy ja popełniam jakiś błąd i czegoś nie przewidziałem, czy w ogóle mam jakieś złe założenia i dlatego program nie wykonuje tego co chcę? Bardzo proszę o pomoc i wyrozumiałość. Tak jak pisałem, to moje pierwsze dni z programowaniem, za uwagi "ale ty się nie znasz, każdy szanujący się programista rozklepałby to w 5 minut" dziękuję, bo mam tego świadomość :)
Pozdrawiam.