Dodanie zmiennych w iteracji

0

Dla uproszczenia taki program w Pythonie

  for x in range (0, 1000):
                globals()['amp_1_%02d' % x] = x
                globals()['amp_2_%02d' % x] = x

Czyli powstają zmienne globalne o nazwach od amp_1_0 do 1000 i amp_2_0 do 1000.
Teraz chciałbym w natępnej pętli "for" zsumować i wyświetlić wartość sumy wszystkich amp_1_0 do 1000 i amp_2_0 do 1000 "
W jaki sposób mam w pętli for podać naswę zmiennej inną w każdym obiegu pętli oczywiście?

0

Globals() traktujesz jak zwykły słownik, masz tu wyświetlenie wszystkich tych "zmiennych", ograniczyłem do 10 żeby lepiej było widać

for x in range (0, 10):
                globals()['amp_1_%02d' % x] = x
                globals()['amp_2_%02d' % x] = x
for x in globals().keys():
    print("zmienna", x, "ma wartość", globals()[x])
0

OK, ale ja chcę nie tyle wyświetlić wszystkie globale ale zsumować wartość tylko globali amp_1_xx i amp_2_xx i potem wyświetlić ich wartość. Jak to mogę zrobić?

1
Piotr Mackowiak napisał(a):

OK, ale ja chcę nie tyle wyświetlić wszystkie globale ale zsumować wartość tylko globali amp_1_xx i amp_2_xx i potem wyświetlić ich wartość. Jak to mogę zrobić?

łatwizna,

seria1 = 0
seria2 = 0
for x in range (0, 10):
                globals()['amp_1_%02d' % x] = x
                globals()['amp_2_%02d' % x] = x
for x in globals().keys():
    if not "amp" in x:
        continue
    if x[4] == '1':
        print("prawie jak zmienna z serii 1 czyli ", x, "ma wartość", globals()[x])
        seria1 +=  globals()[x]
    if x[4] == '2':
        print("prawie jak zmienna z serii 2 czyli ", x, "ma wartość", globals()[x])
        seria2 +=  globals()[x]
print(seria1, seria2)
0

No i w linii:

print("prawie jak zmienna z serii 1 czyli", x, "ma wartość", globals()[x])

mam błąd

SyntaxError: Non-ASCII character '\xc5' in file am.py on line 27, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

1

Pewnie masz pythona2 (bez obsługi pl liter), pousuwaj "ogonki" z print() i będzie dobrze.

0

OK, pousuwałem ogonki i jest OK. Dzięki Koledzy, działa poprawnie.

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