• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z macierzą

VPS Starter Arubacloud
0 głosów
95 wizyt
pytanie zadane 14 listopada 2019 w Python przez Lirio Nowicjusz (120 p.)
edycja 14 listopada 2019 przez Lirio

Witam, mam zadanie do wykonania:http://prac.im.pwr.edu.pl/~giniew/doku.php?id=rok1920%3Azimowy%3Awip%3Azd&fbclid=IwAR3I9_qj0SPNfVubE5euv_6nO8bpsNkyg-2eu6zXXe3y-DSM-_tWeRFXPUM

i mam problem z napisaniem funkcji krok, ponieważ chciałbym ją wykonać w sposób taki, że za pomocą pętli będę sprawdzał każdą wartość utworzonej macierzy po kolei, ale nie wiem jak to napisać nie mając podanych jej wymiarów(niestety zadanie nakazuje stworzenie funkcji, której argumentem jest tylko plansza). Czy ktoś mógłby mi podpowiedzieć jak to zrobić?

Tutaj dwie poprzednie funkcje z zadania, które udało mi się napisać:

import numpy

def  nowa_plansza(H, W, pola=None):
    L = [[0]* H for i in range(W)]
    L = numpy.arange(H*W).reshape((H,W)) * 0
    for i,j in pola:
        L[i][j] = 1
    return L


def sasiedzi(plansza, i ,j):
    suma = 0
    
    if(plansza[i-1][j-1] == 1):
        suma += 1
            
    if(plansza[i][j-1] == 1):
        suma += 1
    
    if(plansza[i+1][j-1] == 1):
        suma += 1
    
    if(plansza[i-1][j] == 1):
        suma += 1
    
    if(plansza[i-1][j+1] == 1):
        suma += 1
    
    if(plansza[i][j+1] == 1):
        suma += 1
    
    if(plansza[i+1][j+1] == 1):
        suma += 1
    
    if(plansza[i-1][j-1] == 1):
        suma += 1
    return suma

 

1 odpowiedź

+1 głos
odpowiedź 14 listopada 2019 przez Hunter94 Mądrala (6,290 p.)

Nie potrzebujesz takich rozmiarów. Możesz iterować bezpośrednio po macierzy
 

for x in L:
   # wiersze
   for y in x:
       # elementy wiersza

jak potrzebujesz indeksów użyj funkcji enumerate.

komentarz 14 listopada 2019 przez Lirio Nowicjusz (120 p.)
Dziękuję za odpowiedź, ale już sobie sam poradziłem z problemem. W dokumentacji znalazłem funkcje shape, dzięki której uzyskałem rozmiary.

Nie znaleziono podobnych pytań

92,980 zapytań

141,943 odpowiedzi

321,188 komentarzy

62,307 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...