Programowanie dla fizyków

Instalacja Pythona

Najlepszą metodą instalacji kompletnego środowiska Pythona jest pobranie Anaconda Python. Aby posiadana wersja Pythona była kompatybilna z tą stosowaną na zajęciach, proszę pobrać wersję 3.7.

Ponadto zalecana jest instalacja zaawansowanego środowiska IDE do tworzenia aplikacji w Pythonie — PyCharm.

Zasoby do nauki

Poniżej znajdują się polecane przewodniki do nauki języka Python (w języku angielskim):

Oprocentowanie

Niech p będzie rocznym oprocentowaniem konta bankowego. Po n początkowa suma A wzrośnie do:

A (1 + p / 100)**n

Napisz funkcję interest (przyjmującą argumenty A, n i p), która zwraca kwotę na koncie po kilku latach, a następnie użyj jej do wyliczenia ile pieniędzy będzie na koncie po trzech latach, jeśli początkowy kapitał wynosił 1000 zł, a oprocentowanie 5%.

Temperatura

Wzór przeliczający temperaturę w stopniach Fahrenheita na stopnie Celsiusza jest następujący:

C = 5/9 (F − 32)

Napisz funkcję C(F), która wylicza temperaturę według tego wzoru. Następnie napisz program, który drukuję tabelę ze stopniami Fahrenheita: 0, 10, 20, . . . , 100 w pierwszej kolumnie oraz odpowiadającą im temperaturę w stopniach Celsiusza w drugiej kolumnie.

Dolary

Napisz funkcję convert_to_usd, która przyjmuje parametr pln, czyli kwotę w złotówkach. Funkcja ma zwrócić podaną kwotę w dolarach amerykańskich. Jako przelicznik przyjmij wartość 3,85 PLN = 1 USD.

Netto

Napisz funkcję calc_net, która przyjmie argumenty:

  • brutto, czyli kwotę brutto ceny zakupu,
  • vat, czyli wartość podatku VAT w procentach. Możesz założyć, że VAT ma być liczbą zmiennoprzecinkową z zakresu 0 – 100. Domyślną wartością VAT powinno być 23%.

Funkcja ma zwrócić wartość netto ceny. Jakie obliczenia musisz wykonać?

Krótkie słowa

Napisz funkcję get_short_words, która przyjmie listę wyrazów. Funkcja powinna zwrócić listę słów krótszych od n znaków, gdzie n jest maksymalną ilością liter w wyrazie. Domyślnie n powinno mieć wartość 5.

Przykład
wyrazy = "Litwo ojczyzno moja ty jesteś jak zdrowie".split(' ')

print(get_short_words(wyrazy))
print(get_short_words(wyrazy, 3))

Wynik:

['moja', 'ty', 'jak']
['ty']
Zadanie dodatkowe

Sprawdź w dokumentacji działanie metody split działającej na łańcuch tekstowych i użytej w przykładzie.

Filmy

Napisz funkcję message, która jako parametr przyjmie słownik o następujących kluczach:

  • name,
  • role,
  • movie.

Następnie niech funkcja przygotuje sformatowany napis: „In movie, name is a role.”, gdzie w odpowiednie miejsca podstawi wartości z ww. kluczy. Jeśli któregoś z kluczy nie będzie w słowniku, funkcja ma zwrócić wartość None.

Przykład 1:
han = {
    "name": "Han Solo",
    "role": "smuggler",
    "movie": "Star Wars"
}

print(message(han))

Wynik:

In Star Wars, Han Solo is a smuggler.
Przykład 2:
bilbo = {
    "name": "Bilbo Baggins",
    "role": "burglar"
}

print(message(bilbo))

Wynik:

None

Kostki

Napisz funkcję dice(num), która zasymuluje rzuty kostką sześcienną. num to parametr, który oznacza ilość kostek. Funkcja ma zwrócić sumę wyrzuconych oczek.

Następnie napisz funkcję print_histogram(throws), która wykona N rzutów dwiema kostkami i wyrysuje na ekranie histogram ilości oczek w wyniku (suma może zawierać się w przedziale 2 - 12) dokładnie według wzoru:

 2: ##############
 3: #########################
 4: ##############################################
 5: #####################################################################
 6: ##################################################################
 7: ###########################################################################################
 8: ####################################################################
 9: ###################################################
10: ###################################
11: ################## 

Prowadzący przedmiot

  • Ten przedmiot nie ma przypisanych prowadzących.

Wiadomości

  • Brak wiadomości.