15B: Pompki w Pythonie

Ćwiczenia 15A, 15B i 15C mogą być wykonane w dowolnej kolejności.

W tej lekcji jest do zrobienia kilka średniej wielkości ćwiczeń łączących narzędzia z wcześniejszych lekcji.

Zadanie na kodowanie : Poniżej Czterdziestu Zimą
W tym ćwiczeniu utworzysz konwerter temperatury, który zmienia wartości Fahrenheita na Celsjusza i vice versa. Potrzebujesz następujących dwóch wzorów, które odnoszą się do temperatury w stopniach Fahrenheita F do temperatury w stopniach Celsjusza C:

\displaystyle{f = c \times \frac{9}{5} + 32}

\displaystyle{c = (f -32)\times\frac{5}{9}.}

Na wejściu będziemy mieć łańcuch składający się z liczby zmiennoprzecinkowej i następującej bezpośrednio po niej litery F lub C, na przykład "13.2C". Twoim zadaniem jest wyrazić w innej skali temperatury i wydrukować przeliczoną wartość w odpowiedniej skali. Na przykład, jeśli na wejściu mamy "8F", to na wyjściu powinno być (w przybliżeniu) "-13.333C", a jeśli na wejście jest "12.5C", to na wyjściu powinno być "54.5F"

Możesz wprowadzić dane dla programu w poniższym polu.

Zadanie na kodowanie : Sprawdź Kartę Kredytową
Zostałeś zatrudniony przez MeisterCard, aby napisać funkcję, która sprawdza, czy dany numer karty kredytowej jest prawidłowy. Twoja funkcja check(S) powinna na wejściu pobierać łańcuch S. Na początku, jeśli ciąg nie odpowiada formatowi "#### #### #### ####", gdzie każdy # jest cyfrą, powinnna zwrócić False. Następnie, jeśli suma cyfr jest podzielna przez 10 (metoda "sumy kontrolnej"), procedura powinna zwracać wartość True, w innym przypadku powinna zwrócić False. Na przykład, jeśli S to ciąg "9384 3495 3297 0123", mimo że format jest poprawny, suma cyfr wynosi 72, więc należy zwrócić Fałlse.
Wpisz polecenia takie jak print(mafonction("test-argument")) w polu poniżej.

W następnym ćwiczeniu użyj metody string.split(), która usuwa spacje ze słowa i zwraca listę słów, które zawiera oraz string.lower(), która konwertuje ciąg na małe litery. Na przykład:

  • "Split these words!".split() zwróci listę ["Split", "these", "words!"]
  • "LOWERCase".lower() zwróci "lowercase"

Uwaga: split() może zaakceptować dodatkowe opcje podziału na inne sposoby; zobacz dokumentacja.

Zadanie na kodowanie : Poetycka Analiza
Pisarz pracuje nad swoim najnowszym wierszem, Turing i maszyny. Zostałeś zatrudniony do określenia słowa, które pojawia się najczęściej. Możesz uzyskać dostęp do wersetów poematu przez wielokrotnie wywołanie input(), a ostatnia linia zawiera trzy znaki: ###. Wszystkie wersety wiersza składają się z wyrazów oddzielonych pojedynczymi spacjami; nie ma cyfr ani interpunkcji. Konwertuj wszystkie słowa na małe litery i wydrukuj słowo, które występuje najczęściej (gwarantujemy, że nie będzie remisu). Na przykład, jeśli na wejście będzie

Here is a line like sparkling wine
Line up fast or be the last
###
wtedy, na wyjściu powinno być

line
ponieważ pojawia się dwukrotnie i żadne inne słowo nie pojawia się dwukrotnie.
Możesz wprowadzić dane dla programu w poniższym polu.

Załóżmy, że masz n smaków lodów i chcesz zrobić desery z użyciem dokładnie k smaków. Ile jest możliwych różnych kombinacji smakowych? Na przykład, jeśli n=4 i k=2, istnieje 6 możliwości:

(1) A i B, (2) A i C, (3) A i D, (4) B iC, (5) B iD, (6) C i D.

(na przykład, są następujące smaki Arbuz, Borówka, Cytryna, i Daktyl).

Podobnie możesz wybrać 2 ludzi z pośród 4 osób (Ala, Bartek, Czarek, Danusia) do komisji. Na ile sposobów można ustalić taką komisję? Odpowiedź będzie równa 6. Następny problem dotyczy obliczania tej liczby.

Zadanie na kodowanie : Kombinuj
Liczba kombinacji k elementów z wszystkich n elementów jest równa

\displaystyle{\frac{n}{k}\times\frac{n-1}{k-1}\times\cdots\times\frac{n-k+2}{2}\times\frac{n-k+1}{1}}

Napisz funkcję choose(n, k), która pobiera dwie liczby całkowite n i k; gwarantujemy, że n>k>0. Funkcja powinna zwrócić wartość zgodną z powyższym wzorem.

Wpisz polecenia takie jak print(mafonction("test-argument")) w polu poniżej.

W matematyce, wyliczona liczba w poprzednim ćwiczeniu, jest zwykle zapisywana tak

\displaystyle{\binom{n}{k}}

co odczytujemy "kombinacja z n po k." Jest wiele interesujących faktów o tych wielkościach

\displaystyle{\binom{n}{k} = \binom{n}{n-k}} and \displaystyle{\binom{n}{k} = \binom{n-1}{k} + \binom{n-1}{k-1}}

To jest koniec naszej sesji ćwiczeń; możesz przejść do kolejnej lekcji.