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):
- The Python Tutorial: oficjalny podręcznik Pythona.
- Learn Python: posty kurs on-line.
- Szkolenie Python 101: bardzo dobry samouczek Pythona
- Scipy Lecture Notes: kompletna dokumentacja Pythona wykorzystywanego do celów naukowych. Zawiera całość materiału zaprezentowanego na zajęciach.
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.