Jak policzyć część wspólną dwóch kolekcji liczb?

0

Jakiebłędy są w poniższym kodzie? Dlaczego on nie działa?


def czesc_wspolna(lista_a, lista_b):
  lista_a = []
  n = int(input())
  for i in range(n):
    lista_a.append(input())
  print(lista_a)
  lista_b = []
  n = int(input())
  for i in range(n):
    lista_b.append(input())
  print(lista_b)
  czesc_wspolna = lista_a.intersect(lista_b)
  wynik = print(czesc_wspolna) 

1
  1. Czy ty nadpisujesz argumenty funkcji?
  2. z tego co pamiętam to metoda to intersection i jest ona na set a nie list
1

Stosujesz na liście metodę, której nie ma, stąd stacktrace. A w ogóle, wiesz co to funkcja w programowaniu, co ma robić, i co chciałeś osiągnąc tym kodem?

0

Nie wiem co tam cudujesz, ale intersection to metoda set.

0
lion137 napisał(a):

, i co chciałeś osiągnąc tym kodem?

Pewnie zaliczenie

darek88 napisał(a):

Jakiebłędy są w poniższym kodzie? Dlaczego on nie działa?

Po 12 latach to chyba już wypada podawać treści wyjątków i błędów

0
  1. Nigdzie nie wywołujesz tej funkcji, więc "nie działa".
  2. Mieszasz w niej różne rzeczy (wczytywanie danych z logiką obliczającą część wspólną, przesłaniasz parametry wejściowe ("variable shadowing"), wyświetlasz dane, no i nie zwracasz wyniku)
  3. Część wspólną liczysz intersectem, ale to nie jest funkcja dla list ( doczytaj o set)
  4. Nie zwracasz rezultatu przecięcia dwóch zbiorów (tj. brak return jakisRezultat, w efekcie funkcja zwraca "None")

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