Wpis z mikrobloga

mirki od #python i #programowanie

mam pętle:

for i in range(100):
for el in tablica:
if winner == el:
el.win.append(el.win[i] +1)
else:
el.lose.append(el.lose[i] + 1)

no i na koniec jak mam w tablicy 2 elementy i drukuje sobie jak wyglądają dla nich tablice lose i win to okazuje się, że wyniki są takie same dla obu obiektów.

ale kiedy zamienie te tablice na zmienną:

el.win += 1
i

el.lose += 1
to działa tak jak powinno.

Co robię źle?
potrzebuje wyniku właśnie w tablicy by móc ładnie na wykresie zaprezentować jak z czasem się zmieniała wartość.
  • 27
też długość tablic mi nie odpowiada bo dla 100 przebiegów powinna mieć 101 elementów
na starcie:

win = [0]
lose = [0]

a ma 201
tak jakby pętla wgl nie zmieniała mi tego el :(
@amam: @drwxr:
kod:
http://pastebin.com/9CgyaqzV

chodzi o to że dla obiektów w tablicy zbieram statystyki
ilosc przegranych i wygranych - również w tablicach

na starcie:
win = [0]
lost = [0]

logicznie -> każdy z obiektów ma swoje własne statystyki

u mnie:
jak przedchwilą wyszło przy debugowaniu w pętli for (linia 7 na pastebin)
wartosc pl -> która powinna się zmieniać, nie zmienia się - nie mam pojęcia dlaczego

natomiast jeżeli
@SzCzoteckY: pewnie zrobiłeś to żeby kod był czytelniejszy, ale jeśli zmienne są boolowskie to wystarczy:
if zmienna:

else:

no i jeśli masz tylko typ bool to nie musisz ich przyrównywać. if zmienna == True/False trochę razi w oczy...

self.win.append(self.win[i] + 1)

self.lost.append(self.lost[i])

do self.win[i] może przyjść self.win[100] a Ty za każdym razem jeszcze dokładasz więc 100 + 101 = 201


@wczoraj:
eeeeeeeeeeeeeeeeeee

(self.win[i] +1) - pobranie wartosci z win[i]
czyli
dodaj na koniec tablicy wartosc z ostatniej komórki +1

i jest iterowane od 0

wiec jezeli mam 100 przebiegów i jedną wartość w tablicy na początku to razem na koniec powinno ich być 101?

Chyba, że ja już mieszam
@SzCzoteckY: Jesteś pewny :D? Raz, że tablica ma długość taką jakby appendy wszystkich playerów tam szły (by wychodziło że masz te 10 playerów), a dwa, że tam co wkleiłeś to win/lose taki sam dla obu obiektów.
@SzCzoteckY: za szybko przeczytałem, ale zapytam inaczej masz tablice, z niej bierzesz wartość win[i] + 1 a potem do tej samej tablicy to dokladasz?
czyli na starcie ona ma 100 wartosci a potem do niej za kazdym razem dokladasz?
@wczoraj: tak

@Porana123:
tak, tablica ma długosc jakby była dzielona miedzy kilku playerów a jest wpisana do obiektu i każdy obiekt ma swoją

które wkleiłem?
no win lose taki sam - tak jakby pętla mi nie zmieniałą tej zmiennej pl albo nie wiem co ona tam robi ( ͡° ʖ̯ ͡°)