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

Python, matura, zadanie,wytłumacznie

VPS Starter Arubacloud
+1 głos
569 wizyt
pytanie zadane 21 listopada 2021 w Python przez qwert 100 Obywatel (1,250 p.)

Witam

Policz, ile jest par ciągów (w odpowiadających sobie wierszach plików dane1.txt i dane2.txt), które utworzone są z takich samych liczb. Liczba powtórzeń takich samych liczb w ciągach może być różna. Wypisz numery wierszy, w których takie pary ciągów się znajdują.

To jest to zadanie, nie wiem zbyto jak to zrobić

link do zad 4.3 https://arkusze.pl/maturalne/informatyka-2018-czerwiec-matura-rozszerzona-2.pdf

załaczniki do zad https://arkusze.pl/matura-informatyka-2018-czerwiec-poziom-rozszerzony/

with open("dane1.txt") as file:
    arr1 = [line.split() for line in file]
with open("dane2.txt") as file:
    arr2 = [line.split() for line in file]

counter = 0
for i in range(1000):
    for j in range(10):
        if arr1[i][j] == arr2[i][j]:
            counter += 1

print(counter)

Wychodzi mi 462 (wiersz nie wiem jak wyświetlić) a ma wyjść 1 oraz wiersz 999

1 odpowiedź

0 głosów
odpowiedź 21 listopada 2021 przez Nelson89 Dyskutant (7,720 p.)

Cześć,

Twoja zmienna counter zlicza ilość takich samych wartości, jakie znajdują się w tym samym wierszu i na tej samej pozycji z dwóch plików. Druga pętla jest zbędna / niepoprawna.

Liczba powtórzeń takich samych liczb w ciągach może być różna

Pierwszym zadaniem w pierwszej pętli byłoby usunięcie tych powtórzeń - i to dla dwóch wierszy - dopiero po tym, należałoby wykonać porównanie oby wierszy.

Jeżeli chodzi o pętle, to nie musisz na sztywno podawać wartości - liczby iteracji. Możesz ją dopasować do rzeczywistej liczby elementów, po przez:

for i in range(len(arr1)):
    ...

To byłoby wygodniejsze w momencie, gdybyś chciał sprawdzić działanie kodu dla plików przykładowych (jak widziałem w poleceniu zadania są pliki przykładowe, ze wskazaną poprawną wartością, jaką kod powinien zwrócić.

Pozdrawiam,

Nelson

 

Podobne pytania

+1 głos
1 odpowiedź 541 wizyt
pytanie zadane 20 listopada 2021 w Python przez qwert 100 Obywatel (1,250 p.)
0 głosów
1 odpowiedź 1,958 wizyt
pytanie zadane 19 sierpnia 2018 w Python przez MazdyxX Nowicjusz (190 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...