Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ===[Kod testerki - do edycji ćwiczenia - uwaga na sprawdzenie, aby cały kod poniżej był prawidłowy!]===
- def dziel_lista(lista):
- # tutaj Twój kod
- return None
- # poniżej przykładowe wywołanie
- parametr = None
- wynik = dziel_lista(parametr)
- print(wynik)
- @@@
- language=python37
- # to wyłączy przycisk uruchom => hide_run_button=true
- @@@
- Zdefiniowanie funkcji <code>dziel_lista(lista)</code>, działającej zgodnie z poleceniem
- Sprawdzenie czy funkcja dla podanego parametru <code>[43, 82, 60, 14, 4, 31]</code> zwraca typ <code>list</code>.
- Sprawdzenie czy funkcja dla parametru <code>[43, 82, 60, 14, 4, 31]</code> zwraca wartość <code>[82, 60, 14, 4]</code>
- Sprawdzenie czy funkcja dla parametrów <code>[35, 79, 47, 31, 81, 76, 53, 55, 86, 66, 48, 27, 68, 75, 25]</code> zwraca wartość <code>[35, 79, 47, 31, 81, 53, 55, 27, 75, 25]</code>
- Sprawdzenie czy funkcja dla parametrów <code>[43, 82, 60, 13, 4, 31]</code> zwraca wartość <code>[0]</code>
- Sprawdzenie czy funkcja dla parametrów <code>[tu wymyślone liczby_1]</code> zwraca wartość <code>[odpowiednia]</code>
- Sprawdzenie czy funkcja dla parametrów <code>[tu wymyślone liczby_2]</code> zwraca wartość <code>[odpowiednia]</code>
- @@@
- # ukryty kod przed kodem ucznia - tu raczej nic nigdy
- @@@
- # po kodzie ucznia
- # przede wszystkim helper do zapisu wyników
- from sys import exit
- wyniki_testow = [] # tablica zaliczonych wyników: [0, 1, 2, ...]
- def _zapisz_wyniki_testow(lista_wynikow):
- w = """
- """
- for q in lista_wynikow:
- w += str(q) + chr(10) + chr(13)
- with open(3,'w') as f:
- f.write(w)
- #################################################################
- # teraz sprawdzenie, czy istnieje funkcja o zdefiniowanej nazwie
- # uwaga - gdy więcej parametrów -> ZMIENIĆ !!!!
- passed = False
- try:
- passed = callable(dziel_lista)
- except NameError:
- exit(0)
- if passed:
- wyniki_testow.append(0)
- ########## poniżej kolejne testy opisane
- # test typu zwracanego obiektu
- wynik = dziel_lista([43, 82, 60, 14, 4, 31])
- if type(wynik) is list:
- wyniki_testow.append(1)
- # pierwszy rodzaj testu
- wynik = dziel_lista([43, 82, 60, 14, 4, 31])
- if wynik == [82, 60, 14, 4]:
- wyniki_testow.append(2)
- # kolejny test
- wynik = dziel_lista([35, 79, 47, 31, 81, 76, 53, 55, 86, 66, 48, 27, 68, 75, 25])
- if wynik == [35, 79, 47, 31, 81, 53, 55, 27, 75, 25]:
- wyniki_testow.append(3)
- # kolejny test
- wynik = dziel_lista([43, 82, 60, 13, 4, 31])
- if wynik == [0]:
- wyniki_testow.append(4)
- # kolejny test
- wynik = dziel_lista([45, 36, 11, 11, 71, 79, 33, 11, 86, 10, 47])
- if wynik == [45, 11, 11, 71, 79, 33, 11, 47]:
- wyniki_testow.append(5)
- # kolejny test
- wynik = dziel_lista([44, 59, 86, 33, 47, 44])
- if wynik == [0]:
- wyniki_testow.append(6)
- # zapisuję wszystkie testy do pliku
- _zapisz_wyniki_testow(wyniki_testow)
- @@@
- #!/usr/bin/python3.7
- import sys
- # tutaj ewentualne sprawdzenie wykonania skryptu ucznia, czy zwraca poprawne wyniki_testow
- input = sys.stdin.read().strip()
- # ale raczej tego nie będę używał.
Advertisement
Add Comment
Please, Sign In to add comment