OBOWIĄZKOWE DO PRZESŁANIA: wszystko oprócz 3.7
Prosty sposób na automatyczne sprawdzenie kodu:
assert result == expected_result
W zadaniach budujemy całe napisy, a nie wyświetlamy po kawałku.
Czy podany kod jest poprawny składniowo w Pythonie? Jeśli nie, to dlaczego?
x = 2; y = 3; if (x > y): result = x; else: result = y;
for i in "axby": if ord(i) < 100: print (i)
for i in "axby": print (ord(i) if ord(i) < 100 else i)
Co jest złego w kodzie:
L = [3, 5, 4] ; L = L.sort()
x, y = 1, 2, 3
X = 1, 2, 3 ; X[1] = 4
X = [1, 2, 3] ; X[3] = 4
X = "abc" ; X.append("d")
L = list(map(pow, range(8)))
Wypisać w pętli liczby od 0 do 30 z wyjątkiem liczb podzielnych przez 3.
Napisać program pobierający w pętli od użytkownika liczbę rzeczywistą x (typ float) i wypisujący x oraz trzecią potęgę x. Zatrzymanie programu następuje po wpisaniu z klawiatury stop. Jeżeli użytkownik wpisze napis zamiast liczby, to program ma wypisać komunikat o błędzie i kontynuować pracę.
Napisać program rysujący "miarkę" o zadanej długości. Należy prawidłowo obsłużyć liczby składające się z kilku cyfr (ostatnia cyfra liczby ma znajdować się pod znakiem kreski pionowej). Należy zbudować pełny string, a potem go wypisać.
|....|....|....|....|....|....|....|....|....|....|....|....| 0 1 2 3 4 5 6 7 8 9 10 11 12
Napisać program rysujący prostokąt zbudowany z małych kratek. Należy zbudować pełny string, a potem go wypisać. Przykładowy prostokąt składający się 2x4 pól ma postać:
+---+---+---+---+ | | | | | +---+---+---+---+ | | | | | +---+---+---+---+
Podany fragment programu pokaże problem z wyświetlaniem list obiektów stworzonych przez użytkownika, jeżeli nie została zdefiniowana metoda __repr__. Jeżeli zdefiniowano tylko metodę __repr__, to zostanie ona użyta również wtedy, gdy zwykle pracuje __str__. Sprawdzić działanie kodu, jeżeli wykomentujemy metodę __str__() lub metodę __repr__().
class Time: def __init__(self, seconds=0): self.s = seconds def __str__(self): return "{} sec".format(self.s) def __repr__(self): return "Time({})".format(self.s) time1 = Time(12) time2 = Time(3456) print("{} {}".format(time1, time2)) # Python wywołuje str() print("{}".format([time1, time2])) # Python wywołuje repr()
Dla dwóch sekwencji liczb lub znaków znaleźć: (a) listę elementów występujących jednocześnie w obu sekwencjach (bez powtórzeń), (b) listę wszystkich elementów z obu sekwencji (bez powtórzeń).
Mamy daną listę sekwencji (listy lub krotki) różnej długości zawierających liczby. Znaleźć listę zawierającą sumy liczb z tych sekwencji. Przykładowa sekwencja [[],[4],(1,2),[3,4],(5,6,7)], spodziewany wynik [0,4,3,7,18].
Stworzyć słownik tłumaczący liczby zapisane w systemie rzymskim (z literami I, V, X, L, C, D, M) na liczby arabskie (podać kilka sposobów tworzenia takiego słownika). Mile widziany kod tłumaczący całą liczbę [funkcja roman2int()].