Wpis z mikrobloga

#programowanie #naukaprogramowania #python

Czesc wszystkim ! Mam problem z programem w pythonie. A manowicie, chce stworzyć zmienną, jak w pliku, który tutaj dodalem na koncu ( 47 linijka: slownik = podzespol + '_slownik' ). Chce stworzyć wiele podobnych funkcji dopasowujących wiele podzespolow (obudowa, zasilacz, dysk), procz pamieci ram, procesora, plyty, gdyz to juz mam gotowe i zrobione w inny sposob. problem stanowi wlasnie stworzenie tej zmiennej slownik, ktora bedzie pobierac za kazdym razem inny slownik( dla zmiennych z linii od 4 do 7). W tym przykladzie jest zle, i nawet wiem czemu ( pobiera nazwe zmiennej, a nie wartość, ktora jest wewnatrz), ale jak zrobic taka uniwersalną zmienna, ktora bedzie sie zmienac pod wplywem tego co jest podane jako argument ? tutaj link do kodu: http://www.wklejto.pl/323265
  • 14
@lukasz11331: ten kod wogóle działa? z tego co wyczytałem w kodzie slownik to string = 'kartagraficznaslownik'

slownik = podzespol + '_slownik'
for line in slownik:
if re.search(szukana, slownik[line]):
i += 1
print(slownik[line])
@lukasz11331: Dobra wiadomość jest taka: da się coś takiego osiągnąć (utworzyć zmienną o dowolnej nazwie) ale nie napiszę Ci jak bo nie należy czegoś takiego robić. Możesz natomiast tworzyć sobie swoiste kontenery zagnieżdżone w innych strukturach jak np w słowniku czy obiekcie. Zła wiadomość jest taka że kompletnie źle się zabrałeś za zadanie, nie możesz np. robić czegoś takiego:

for line in karty_graficzne_plik:
line = line.strip('\n')
karta_graficzna_slownik[line] = line

napisz pseudokod
@lukasz11331: 1. pisz kod po angielsku
2. po co używasz modułu re, który służy do wyrażeń regularnych, skoro nie używasz wyrażeń regularnych?
3. otwieranie tego zyliona plików wypadałoby wepchnąć w jakąś pętlę

TypeError: string indices must be integers

taki komunikat

no nie dziwota, skoro piszesz

szukaj_podzespol('karta_graficzna')
a w tej funkcji

slownik = podzespol + '_slownik'
for line in slownik:
if re.search(szukana, slownik[line]):
podpowiedź: line jest stringiem i slownik jest stringiem
@lukasz11331: zacznij od zrobienia funkcji która zamienia nazwę pliku w pojedynczy słownik (+wcześniejsze uwagi), wtedy wrzuć jeszcze raz kod (najlepiej w nowym wątku z odwołaniem do starego).