ABIX_Edukacja

Untitled

Sep 13th, 2022
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. ===[Kod testerki - do edycji ćwiczenia - uwaga na sprawdzenie, aby cały kod poniżej był prawidłowy!]===
  2.  
  3. def dziel_lista(lista):
  4. # tutaj Twój kod
  5. return None
  6.  
  7. # poniżej przykładowe wywołanie
  8. parametr = None
  9. wynik = dziel_lista(parametr)
  10. print(wynik)
  11. @@@
  12. language=python37
  13. # to wyłączy przycisk uruchom => hide_run_button=true
  14. @@@
  15. Zdefiniowanie funkcji <code>dziel_lista(lista)</code>, działającej zgodnie z poleceniem
  16. Sprawdzenie czy funkcja dla podanego parametru <code>[43, 82, 60, 14, 4, 31]</code> zwraca typ <code>list</code>.
  17. Sprawdzenie czy funkcja dla parametru <code>[43, 82, 60, 14, 4, 31]</code> zwraca wartość <code>[82, 60, 14, 4]</code>
  18. 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>
  19. Sprawdzenie czy funkcja dla parametrów <code>[43, 82, 60, 13, 4, 31]</code> zwraca wartość <code>[0]</code>
  20. Sprawdzenie czy funkcja dla parametrów <code>[tu wymyślone liczby_1]</code> zwraca wartość <code>[odpowiednia]</code>
  21. Sprawdzenie czy funkcja dla parametrów <code>[tu wymyślone liczby_2]</code> zwraca wartość <code>[odpowiednia]</code>
  22. @@@
  23. # ukryty kod przed kodem ucznia - tu raczej nic nigdy
  24. @@@
  25. # po kodzie ucznia
  26. # przede wszystkim helper do zapisu wyników
  27. from sys import exit
  28.  
  29. wyniki_testow = [] # tablica zaliczonych wyników: [0, 1, 2, ...]
  30.  
  31. def _zapisz_wyniki_testow(lista_wynikow):
  32. w = """
  33. """
  34. for q in lista_wynikow:
  35. w += str(q) + chr(10) + chr(13)
  36. with open(3,'w') as f:
  37. f.write(w)
  38. #################################################################
  39.  
  40. # teraz sprawdzenie, czy istnieje funkcja o zdefiniowanej nazwie
  41. # uwaga - gdy więcej parametrów -> ZMIENIĆ !!!!
  42.  
  43. passed = False
  44. try:
  45. passed = callable(dziel_lista)
  46. except NameError:
  47. exit(0)
  48. if passed:
  49. wyniki_testow.append(0)
  50.  
  51. ########## poniżej kolejne testy opisane
  52.  
  53. # test typu zwracanego obiektu
  54. wynik = dziel_lista([43, 82, 60, 14, 4, 31])
  55. if type(wynik) is list:
  56. wyniki_testow.append(1)
  57.  
  58.  
  59. # pierwszy rodzaj testu
  60. wynik = dziel_lista([43, 82, 60, 14, 4, 31])
  61. if wynik == [82, 60, 14, 4]:
  62. wyniki_testow.append(2)
  63.  
  64. # kolejny test
  65. wynik = dziel_lista([35, 79, 47, 31, 81, 76, 53, 55, 86, 66, 48, 27, 68, 75, 25])
  66. if wynik == [35, 79, 47, 31, 81, 53, 55, 27, 75, 25]:
  67. wyniki_testow.append(3)
  68.  
  69. # kolejny test
  70. wynik = dziel_lista([43, 82, 60, 13, 4, 31])
  71. if wynik == [0]:
  72. wyniki_testow.append(4)
  73.  
  74. # kolejny test
  75. wynik = dziel_lista([45, 36, 11, 11, 71, 79, 33, 11, 86, 10, 47])
  76. if wynik == [45, 11, 11, 71, 79, 33, 11, 47]:
  77. wyniki_testow.append(5)
  78.  
  79. # kolejny test
  80. wynik = dziel_lista([44, 59, 86, 33, 47, 44])
  81. if wynik == [0]:
  82. wyniki_testow.append(6)
  83.  
  84. # zapisuję wszystkie testy do pliku
  85. _zapisz_wyniki_testow(wyniki_testow)
  86.  
  87. @@@
  88. #!/usr/bin/python3.7
  89. import sys
  90. # tutaj ewentualne sprawdzenie wykonania skryptu ucznia, czy zwraca poprawne wyniki_testow
  91. input = sys.stdin.read().strip()
  92. # ale raczej tego nie będę używał.
  93.  
Tags: testerka
Advertisement
Add Comment
Please, Sign In to add comment