Witam,
jak mógłbym zrobić aby zmienna w zmiennej się zmieniała w czasie pętli?
przykład:
for i in range(x):
#i jak zrobić aby program w następnej pętli zmienił p=a1 na p=a2? dodając do tej jedynki w nazwie zmiennej a1 +1
p=a1
Na prawdę nie mam pojęcia jak to zrobić.
chce osiągnąć aby p dynamicznie się zmieniało co pętle że w pierwszej pętli jest p=a1 a w drugiej p=a2 a w trzeciej p=a3 i jak to zrobię ifami że if powtórzenie == 1:
p=a1 to wtedy nie będzie to uniwersalne że jak pętla będzie miała 100 to będzie musiał robić 100 if a zawsze długość pętli się zmienia zależnie od reszty programu
cały fragment kodu:
Przykładowy tekst
tekst = """
Ilosc produktów w zamówieniu: 17
firma klienta: DOSTAL
Jeżeli szerokość jest poniżej 605mm płaskownik:
gatunek: C45
cięcie: taśma
rodzaj wyrobu: płaskownik
grubość: 20
dlugość: 500
ilosc sztuk produktu: 1
szerokość: 200
obróbka: brak
"""
Rozdziel tekst na linie
linie = tekst.split('\n')
Inicjalizuj słownik do przechowywania zmiennych
zmienne = {}
Iteruj przez linie i przetwarzaj je
aktualna_zmienna = None
licznik_zmiennych = 1
ignoruj_linie = False # Flaga do ignorowania określonych linii
for linia in linie:
if ':' in linia:
klucz, wartosc = linia.split(':', 1)
klucz = klucz.strip()
wartosc = wartosc.strip()
if not klucz.startswith("Jeżeli") and not klucz.startswith("płaskownik"):
if ignoruj_linie:
ignoruj_linie = False
continue
aktualna_zmienna = f'a{licznik_zmiennych}'
zmienne[aktualna_zmienna] = wartosc
licznik_zmiennych += 1
else:
if klucz.startswith("Jeżeli szerokość jest poniżej 605mm płaskownik:") or klucz.startswith("jeżeli klient nie podaje innych wymiarów to takie:"):
ignoruj_linie = True
Wyświetl wynik
for klucz, wartosc in zmienne.items():
# Przypisz wartość do zmiennej
exec(f"{klucz} = '{wartosc}'")
I Teraz dałem takie coś ale chce aby to było robione w p i te p by się zmieniało co print bo nigdy nie wiadomo ile z zmiennej tekst będzie zmiennych a1, a2...
print(f"a1: {a1}")
print(f"a2: {a2}")