forked from tdwojak/Python2018
Commit 13.05.2018 g.12.22
This commit is contained in:
parent
1f1f5a085b
commit
577882804b
11
.idea/Python2018.iml
Normal file
11
.idea/Python2018.iml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
<component name="TestRunnerService">
|
||||
<option name="PROJECT_TEST_RUNNER" value="Unittests" />
|
||||
</component>
|
||||
</module>
|
4
.idea/misc.xml
Normal file
4
.idea/misc.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.6.2 (C:\software\python3\python.exe)" project-jdk-type="Python SDK" />
|
||||
</project>
|
8
.idea/modules.xml
Normal file
8
.idea/modules.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/Python2018.iml" filepath="$PROJECT_DIR$/.idea/Python2018.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
Normal file
6
.idea/vcs.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
@ -28,7 +28,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 18,
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"slideshow": {
|
||||
"slide_type": "fragment"
|
||||
|
@ -9,48 +9,81 @@ Zadania wprowadzające do pierwszych ćwiczeń.
|
||||
"""
|
||||
Wypisz na ekran swoje imię i nazwisko.
|
||||
"""
|
||||
|
||||
print("Swoje imię i nazwisko")
|
||||
|
||||
"""
|
||||
Oblicz i wypisz na ekran pole koła o promienie 10. Jako PI przyjmij 3.14.
|
||||
"""
|
||||
pi = 3.14
|
||||
r = 10
|
||||
pole = pi * (r ** 2) # potega to znak ** a nie ^
|
||||
|
||||
print("Promień:", r)
|
||||
print("Liczba pi:", pi)
|
||||
print("Pole koła:", pole)
|
||||
|
||||
"""
|
||||
Stwórz zmienną pole_kwadratu i przypisz do liczbę: pole kwadratu o boku 3.
|
||||
"""
|
||||
bok = 3
|
||||
pole_kwadratu = bok ** 2
|
||||
print("Pole kwadratu o boku", bok, "wynosi", pole_kwadratu)
|
||||
|
||||
"""
|
||||
Stwórz 3 elementową listę, która zawiera nazwy 3 Twoich ulubionych owoców.
|
||||
Wynik przypisz do zmiennej `owoce`.
|
||||
"""
|
||||
owoce = ["japko", "bananas", "arbuzas"]
|
||||
print(owoce)
|
||||
|
||||
"""
|
||||
Dodaj do powyższej listy jako nowy element "pomidor".
|
||||
"""
|
||||
owoce.append("pomidor")
|
||||
print(owoce)
|
||||
|
||||
"""
|
||||
Usuń z powyższej listy drugi element.
|
||||
"""
|
||||
|
||||
owoce.pop(1)
|
||||
print(owoce)
|
||||
|
||||
"""
|
||||
Rozszerz listę o tablice ['Jabłko', "Gruszka"].
|
||||
"""
|
||||
owoce.append(['Jabłko', "Gruszka"])
|
||||
print(owoce)
|
||||
|
||||
"""
|
||||
Wyświetl listę owoce, ale bez pierwszego i ostatniego elementu.
|
||||
"""
|
||||
print(owoce)
|
||||
print('Lista bez pierwszego i ostatniego elementu:', owoce[1:-1])
|
||||
|
||||
"""
|
||||
Wyświetl co trzeci element z listy owoce.
|
||||
"""
|
||||
print(owoce)
|
||||
print('Lista bez pierwszego i ostatniego elementu:', owoce[::3])
|
||||
|
||||
"""
|
||||
Stwórz pusty słownik i przypisz go do zmiennej magazyn.
|
||||
"""
|
||||
magazyn = {}
|
||||
|
||||
|
||||
"""
|
||||
Dodaj do słownika magazyn owoce z listy owoce, tak, aby owoce były kluczami,
|
||||
zaś wartościami były równe 5.
|
||||
"""
|
||||
magazyn = {"japko" : 5, "arbuzas" : 5, "pomidor": 5, "Jabłko": 5, "Gruszka" : 5}
|
||||
print("Słownik:", magazyn)
|
||||
|
||||
"""
|
||||
cos tu jest namieszane
|
||||
magazyn1 = {"japko" : 1, "arbuzas" : 1, "pomidor": 1, "Jabłko": 1, "Gruszka" : 1}
|
||||
owocetupla = tuple(owoce)
|
||||
for owoc in owocetupla:
|
||||
magazyn1(owoc) = 5
|
||||
print("Słownik:", magazyn1)
|
||||
"""
|
||||
|
@ -6,6 +6,12 @@ Zad 2. Napisz funkcję even_elements zwracającą listę,
|
||||
która zawiera tylko elementy z list o parzystych indeksach.
|
||||
"""
|
||||
|
||||
"""
|
||||
def sum(a,b):
|
||||
return a+b
|
||||
"""
|
||||
|
||||
|
||||
def even_elements(lista):
|
||||
pass
|
||||
|
||||
|
@ -5,6 +5,18 @@
|
||||
Napisz funkcję days_in_year zwracającą liczbę dni w roku (365 albo 366).
|
||||
"""
|
||||
|
||||
|
||||
"""
|
||||
/400 jest przestepny
|
||||
/100 nieprzestepny
|
||||
/4 przestepny
|
||||
|
||||
if y %400==0: TAK
|
||||
elif y %100==0: NIE
|
||||
elif y %4==0: TAK
|
||||
else: NIE
|
||||
"""
|
||||
|
||||
def days_in_year(days):
|
||||
pass
|
||||
|
||||
|
@ -2,32 +2,33 @@
|
||||
|
||||
## Zadania
|
||||
|
||||
**ćwiczenie 0**
|
||||
**ćwiczenie 0** NIE TRZEBA ROBIC!!!!
|
||||
Uruchom programy z katalogu `examples` i zobacz ich kod. Spróbuj odgadnąć, co robią konkretne linie w kodzie.
|
||||
|
||||
**ćwiczenie 1**
|
||||
**ćwiczenie 1** NIE TRZEBA ROBIC!!!!
|
||||
Każdy obiekt w Pythonie na wbudowaną funkcję ``id()``, która zwraca liczbę, która jest unikatowa i stała dla obiektu. Pozwala ona w prosty sposób sprawdzić, który obiekt jest *mutable*a, który *immutable*: jeżeli po wykonaniu operacji, zwracana liczba jest stała, to oznacza, że obiekt jest *mutable*. Sprawdź zachowanie funkcji na obiektach typy:
|
||||
* lista,
|
||||
* napis (string),
|
||||
* liczba zmiennoprzecinkowa.
|
||||
|
||||
**ćwiczenie 2**
|
||||
**ćwiczenie 2** NIE TRZEBA ROBIC!!!!
|
||||
Napisz generator, który będzie zwracać ``n`` kolejnych liczb ciągu Fibonacciego (``F(0)=1, F(1)=1, FN=F(N-1) + F(N-2)``).
|
||||
|
||||
**ćwiczenie 3**
|
||||
**ćwiczenie 3** NIE TRZEBA ROBIC!!!!
|
||||
Strona ``https://api.fixer.io/latest`` udostępnia kursy różnych walut w stosunku do euro. Napisz skrypt, który:
|
||||
* pobierze zawartość JSONa. Wykorzystaj bibliotekę ``requests`` (http://docs.python-requests.org/en/master/).
|
||||
* korzystając z biblioteki ``json`` przekształć go do obiektu typu JSON.
|
||||
* Wyświetl wartość kursu EUR do PLN.
|
||||
|
||||
**ćwiczenie 4**
|
||||
**ćwiczenie 4** NIE TRZEBA ROBIC!!!!
|
||||
Zainstaluj bibliotekę ``weather-api`` (https://pypi.python.org/pypi/weather-api). Korzystając z niej:
|
||||
* Wypisz informacje o aktualnej pogodzie.
|
||||
* Napisz funkcję, która zamieni stopnie ``F`` na ``C``.
|
||||
* Korzystając z prognozy, znajdź dzień, w którym będzie najzimniej. Wypisz nazwę tygodnia (w języku polskim) i temperaturę w C.
|
||||
|
||||
**ćwiczenie 5**
|
||||
**ćwiczenie 5** TRZEBA ZROBIĆ JAKO ZADANIE DOMOWE!!!
|
||||
Katalog scores zawiera 64 pliki tekstowe, które posiadają informacje o wysokości miary ``BLEU`` na różnych etapach trenowania modelu. Nazwa każdego pliku na postać ``model.iterXXXXXXX.npz.bleu``, gdzie ``XXXXXXX``, to liczba iteracji.Zawartość każdego pliku jest podobna i ma następującą formę: *BLEU = YY.YY, 44.4/18.5/9.3/5.0 (BP=1.000, ratio=1.072, hyp_len=45976, ref_len=42903)*, gdzie ``YY.YY`` to wartość miary ``BLEU``. Znajdź plik, który zawiera najwyższą wartość miary ``BLEU``.
|
||||
* Wykorzystaj bibliotekę ``glob`` (https://docs.python.org/2/library/glob.html)
|
||||
* Wyświetl tylko pełną nazwe pliku (wraz z ścieżką).
|
||||
|
||||
Cwiczenie 5 zrobić do 2.06.2018 nawet do 5 w nocy.
|
214
notatki/zajecia20180512.py
Normal file
214
notatki/zajecia20180512.py
Normal file
@ -0,0 +1,214 @@
|
||||
# Przedmiot Jezyki skryptowe - Python
|
||||
# Pierwsze zajecia
|
||||
# 2018.05.12
|
||||
|
||||
print('Czesc')
|
||||
print("Czesc") # nie wolno mieszac typow cudzyslowiow
|
||||
|
||||
# / = dokladny wynik dzielenia
|
||||
# % = dzielenie modulo - zwróci resztę z dzielenia
|
||||
|
||||
print("Teks1", "Po przecinku drugi txt")
|
||||
print(12 ** (3+4 % 8 / 9))
|
||||
print("Teks1", "Mozna mieszac txt i liczby", 3.1445)
|
||||
print("Liczby ulamkowe zapisujemy z kropka", 45.456)
|
||||
|
||||
"""
|
||||
Potrojny cydzysłów - komentarz wielolinijkowy
|
||||
cos tam
|
||||
"""
|
||||
|
||||
|
||||
"""
|
||||
Zmienne nie mają typów
|
||||
cese sensitive
|
||||
do zmiennej mozna prypisac praktycznie wszystko
|
||||
"""
|
||||
|
||||
zmienna = "Zmienna"
|
||||
nic = None
|
||||
imie_prowadzacego = 'Tomek'
|
||||
imie2_prowadzacego = "Radek"
|
||||
zmienna2 = True
|
||||
zm3 = False
|
||||
|
||||
lucky = 7
|
||||
lucky += 8 # wynik => 7+8=15
|
||||
lucky = lucky / 3 # dzielenie zawsze zwraca liczbe zmiennoprzecinkową
|
||||
print(lucky)
|
||||
print("lucky") # zwróci napis lucky
|
||||
|
||||
print(type(pi)) # wyswietla typ zmiennej
|
||||
"""
|
||||
int
|
||||
float
|
||||
str
|
||||
bool
|
||||
"""
|
||||
|
||||
"""
|
||||
W pythonie nie ma tablic
|
||||
Są za to listy
|
||||
Listy moga przechowywac elementy roznych typow
|
||||
Indexowanie zaczyna się od 0
|
||||
"""
|
||||
|
||||
pusta_lista = []
|
||||
oceny = [1,2,3,4,5,6,7]
|
||||
innalista = [3.14, "napis", 3, ["pi"], oceny,"nie_musi_byc_spacji_pomiedzy_elementmi_listy"] # lista moze zawierac takze inna listę
|
||||
|
||||
"""
|
||||
W pythonie 3
|
||||
Zwraca tzw. iterator
|
||||
funkcją list tworzy nową listę o wartościach z oryginalnej listy
|
||||
"""
|
||||
|
||||
ciag_10_elem = list(range(10))
|
||||
|
||||
# W Python nie ma list wielowymiarowych
|
||||
|
||||
oceny.append(4) # dodanie elementu na końcu listy
|
||||
oceny.extend([4,4,4]) # też dodaje ale mozna dodac kilka elementow na raz np. listę i wkleje jej wartosci do oryginalnej listy
|
||||
|
||||
oceny.append([4,4,4]) # doda listę
|
||||
oceny.extend([4,4,4]) # doda wartości listy
|
||||
|
||||
oceny.pop() # usuwa ostatni element listy
|
||||
oceny.pop(0) # usuwa element zerowy, czyli pierwszy na liście :)
|
||||
oceny.pop(-1) # usuwa ostatni element
|
||||
oceny.pop(-3) # usuwa 3 element od konca
|
||||
|
||||
# INDEXOWANIE
|
||||
|
||||
print('pierwszy element:', oceny[0]) # drukuje zerowy element listy
|
||||
print('pierwszy element:', oceny[-1]) # ostatni element od konca
|
||||
print('pierwszy element:', oceny[:5]) # zwraca wszystkie elementy, ktore mają element mniejszy od 5 (z indexem 0, 1... 4)
|
||||
print('pierwszy element:', oceny[-5:]) # 5 ostatnich elementow
|
||||
print('pierwszy element:', oceny[1:5]) # elementy od id 1,2,3,4
|
||||
print('pierwszy element:', oceny[::2]) # od początku do końca co 2gi element, parzyste
|
||||
# [1::2] pokaz nieparzyste elementy
|
||||
# [::-1] wypisze całą listę od końca
|
||||
# [::-2] wypisze co 2gi element od końca
|
||||
|
||||
oceny.sort() # sortuje roznaco
|
||||
oceny.reverse() # odwaca liste
|
||||
print("liczba piątek", oceny.count(5)) # liczy ile liczb "5" jest na liście
|
||||
zm = sorted(oceny) # sortuje do nowej zmiennej zm, efekt ten sam co powyzej
|
||||
nowa_lista = oceny[:] # bez nawiasu [] nie zadziała
|
||||
nowa_lista = oceny + [0]
|
||||
# pomnożyć listę przez listę NIE MOZNA [3,2,1] * [3]
|
||||
oceny = [3,2,1] * 2 # można mnożyć listę przez liczbę
|
||||
# sortuje też stringi
|
||||
# oceny = ['a', 'c'] + [str'0'] ????????????? # zadziała, można to sortować
|
||||
|
||||
#
|
||||
# PĘTLE
|
||||
#
|
||||
|
||||
for i in range(5):
|
||||
print('element:', i)
|
||||
print('sqr:', i ** 2)
|
||||
print('>>>>>')
|
||||
|
||||
# "i" TO JEST NORMANA ZMIENNA, JEJ NAZWA MOŻE BYC TOTALNIE DOWOLNA
|
||||
# po przejściu pętli i ma wartość ostatnie operacji na petli for
|
||||
|
||||
|
||||
# NIE WOLNO MIESZAĆ TABULATORA I SPACJI - TO ZŁO I BĘDZIESZ SIĘ ZMAZYC W PIEKLE
|
||||
# NAJLEPIEJ W KODZIE NIE UŻYWĆ TABULATOR TYLKO SPACJI
|
||||
# NIE MUSZĄ TO BYĆ 4 SPACJE
|
||||
# NIEKTORE EDYTORY ZAMIENIAJĄ AUTOMATYCZNIE TAB NA 4 SPACJE
|
||||
|
||||
for i in list(range(5))[::-1]
|
||||
print(i)
|
||||
|
||||
pass # nie rób nic
|
||||
|
||||
for zmienna in oceny:
|
||||
pass
|
||||
|
||||
|
||||
lista_pusta = []
|
||||
|
||||
"""
|
||||
kwadraty=[]
|
||||
for i in range(10):
|
||||
kwadraty.append()
|
||||
nie dokończyłem
|
||||
"""
|
||||
|
||||
#
|
||||
# SŁOWNIKI
|
||||
#
|
||||
|
||||
słownik = {}
|
||||
# lub dict()
|
||||
# klucze muszą być unikatowe
|
||||
s_oceny = {"Justyna" : [5,5,5], "Jan" : [4,3,2}}
|
||||
s_oceny["Ala"] = [3,4,5]
|
||||
print(s_oceny.keys())
|
||||
print(s_oceny.values())
|
||||
|
||||
|
||||
for osoba in s_oceny:
|
||||
print(osoba,':', s_oceny[osoba])
|
||||
# iterujemy po kluczach slownika
|
||||
|
||||
|
||||
for key, value in s_oceny.items():
|
||||
print(key,':', value)
|
||||
# key, value to nie są słowa kluczowe, tylko zwykłe nazwy zmiennych
|
||||
|
||||
|
||||
#
|
||||
# IF... ELIF... ELSE
|
||||
#
|
||||
|
||||
if warunek:
|
||||
operacja1
|
||||
elif warunek2:
|
||||
operacja2
|
||||
|
||||
|
||||
if warunek:
|
||||
operacja1
|
||||
else:
|
||||
operacja2
|
||||
|
||||
"""
|
||||
operatory porównnia
|
||||
== rowne
|
||||
<=
|
||||
>=
|
||||
!= nierówne
|
||||
"""
|
||||
|
||||
|
||||
if "Ala" in s_oceny:
|
||||
print("Ala jest w grupie")
|
||||
sprawdza w liscie kluczy w slowniku
|
||||
|
||||
|
||||
#
|
||||
# FUNKCJE
|
||||
# PRYJMUJE ARGUMNTY, ZWRACA WARTOŚCI
|
||||
#
|
||||
|
||||
def is_greater_than_5 (x):
|
||||
if x > 5:
|
||||
return True # zwraca wartość z funkcji
|
||||
else:
|
||||
return False
|
||||
|
||||
if 'dom' in napis: # sparawdza czy dom jest w zmiennej napis
|
||||
print(True)
|
||||
|
||||
slowa['bardzo','wazna']
|
||||
print(' '.join(slowa)) # zlaczenie
|
||||
|
||||
print(text.split(' ')) # podzieli na slowa wg spacji
|
||||
|
||||
|
||||
|
||||
|
||||
|
290
notatki/zajecia20180513.py
Normal file
290
notatki/zajecia20180513.py
Normal file
@ -0,0 +1,290 @@
|
||||
# Zajęcia 2018.05.13
|
||||
# kod z Podstawy 2.py z moimi notatkami
|
||||
|
||||
|
||||
def dwojak(x):
|
||||
x *= 2
|
||||
return x
|
||||
|
||||
|
||||
def dwojak2(x):
|
||||
x = x * 2
|
||||
return x
|
||||
|
||||
l = [1, 2, 3]
|
||||
#ll = l[:] ## l sie nie zmieni
|
||||
ll = l # l sie zmieni, stworz inna nazwe dla tego samego obiektu; jedne obiekt ma dwie różne nazwy - tak się zachowują obiekty mutable
|
||||
s = "123"
|
||||
# lista, slownik, set są mutable, są zawsze przekazywane przez referencje; ale tuple tak nie działają
|
||||
|
||||
# w przypadku tej funkcji dwojak i listy robimy 2 kopie i laczymy w jedna
|
||||
#dwojak(l)
|
||||
dwojak(ll)
|
||||
dwojak(s)
|
||||
|
||||
print(l)
|
||||
print(s)
|
||||
print(dwojak(1))
|
||||
|
||||
# no i gówno wiadomo
|
||||
|
||||
# ## Mutable i Immutable
|
||||
#
|
||||
# ### Mutable
|
||||
# * listy,
|
||||
# * słowniki,
|
||||
# * sety,
|
||||
# * własnoręcznie zdefiniowane klasy.
|
||||
#
|
||||
# ### Immutable
|
||||
# * liczby: inty i floaty,
|
||||
# * napisy,
|
||||
# * tuple.
|
||||
|
||||
# ## Nieoczywistości
|
||||
|
||||
# In[11]:
|
||||
|
||||
|
||||
def dwojak1(x): x *= 2
|
||||
|
||||
|
||||
def dwojak2(x):
|
||||
x = x * 2
|
||||
print("F:", x)
|
||||
|
||||
|
||||
l = [1, 2, 3]
|
||||
dwojak1(l)
|
||||
print(l)
|
||||
|
||||
l = [1, 2, 3]
|
||||
dwojak2(l)
|
||||
print(l)
|
||||
|
||||
# In[17]:
|
||||
|
||||
|
||||
l = [1, 2, 3]
|
||||
e = l[:]
|
||||
e.append(4)
|
||||
print(l)
|
||||
print(e)
|
||||
|
||||
# In[19]:
|
||||
|
||||
|
||||
e = []
|
||||
f = [e for i in range(3)]
|
||||
"""
|
||||
f = [i * 2 for i in range(3)] # krotszy sposobna tworzenie listy, range(3) = 0,1,2
|
||||
lub
|
||||
f=[]
|
||||
for i in range(3):
|
||||
f.append(i * 2)
|
||||
robia to samo, tylko pierwszy zapis jest krotszy
|
||||
"""
|
||||
f[0].append(1) # wez pierwszy element listy i dodaj 1 do listy
|
||||
print(f)
|
||||
|
||||
# ## To może ``tuple``?
|
||||
# * stały rozmiar,
|
||||
# * immutable,
|
||||
# * mogą być kluczami w słownikach
|
||||
|
||||
# In[25]:
|
||||
|
||||
"""
|
||||
tuple, krotki - lista, która nie może się zmieniać, nie możemy dodawać elementów do krotki
|
||||
nawiasy okrągłe
|
||||
tuple mogą być kluczem w słowniku
|
||||
listę nie można przekazać jako klucz do słownika
|
||||
Można zamienic listę na tuple
|
||||
|
||||
t = [1, "napis", "9")
|
||||
t = tuple(t) # zamienia listę na tuple
|
||||
print(t)
|
||||
print(len(t))
|
||||
print({t: None})
|
||||
|
||||
s_oceny = {}
|
||||
s_ocny[("Jan", "Kowalski)] = 1990
|
||||
|
||||
Gdy do krotki trzeba jednak coś dodac:
|
||||
tworzymy nową krotke t i konkatenujemy
|
||||
t = ("Jan", "Kowalski") + (1990,) # (1990,) oznacza krotke jednoelementowa, musi byc przecinek
|
||||
print(t)
|
||||
print(t[-1]) # pokaz ostatni element, indexowanie jest takie samo jak w listach
|
||||
print(t[:2])
|
||||
"""
|
||||
|
||||
# funkcja len - liczba elementów
|
||||
|
||||
t = (1, "napis", [])
|
||||
t[-1].append(0)
|
||||
print(t)
|
||||
print(len(t)) # ilość elementów w liście
|
||||
print({t: None})
|
||||
|
||||
|
||||
# ## Funkcje cz. 2
|
||||
|
||||
# In[36]:
|
||||
|
||||
|
||||
def suma(*args):
|
||||
return sum(args)
|
||||
|
||||
"""
|
||||
chcemy pzekazać funkci dowolna ilość elementów
|
||||
tu *args jest listą elementów
|
||||
|
||||
funkcja sum jest wbudowana w Pythona
|
||||
print(sum([1,1,1,1,11])
|
||||
"""
|
||||
|
||||
print(suma(1, 2, 3, 4, 5))
|
||||
|
||||
"""
|
||||
def greet_me(z):
|
||||
print("pozdr",z)
|
||||
|
||||
greet_me("Tomek")
|
||||
|
||||
|
||||
|
||||
def greet_me(z, x="Pozdr"):
|
||||
print(x,z)
|
||||
|
||||
greet_me("Tomek", "czesc") # czesc nadpisze Pozdr
|
||||
|
||||
greet_me(x="cześć", z="Tomek")
|
||||
|
||||
greet_me("cześć", "Tomek")
|
||||
|
||||
Przydaje się to np. w Pandas, gdy czesc argumanetow chcemy uruchomic z wartosciami domyslnymi, a czesc chcemy zmienic
|
||||
|
||||
|
||||
def greet_me(z, x="Pozdr"):
|
||||
print(x,z)
|
||||
return x, x*2
|
||||
|
||||
x1,x2 = greet_me(Czesc","Tomaj") # ilość argumentów musi się zgadzać
|
||||
x3 = greet_me(Czesc","Tomaj") # tworzy krotkę
|
||||
print(x1,x2)
|
||||
print(x3)
|
||||
"""
|
||||
|
||||
def greet_me(z=None, **kwargs):
|
||||
if kwargs is not None:
|
||||
for key, value in kwargs.items():
|
||||
print("%s == %s" % (key, value))
|
||||
|
||||
|
||||
greet_me(a=1, b=(3, 4))
|
||||
|
||||
#
|
||||
# ## Generatory
|
||||
#
|
||||
# In[38]:
|
||||
|
||||
"""
|
||||
ord - f. ktora zwraca liczbę dla każdego znaku
|
||||
|
||||
def Range(x):
|
||||
i=0
|
||||
while i<x:
|
||||
yield i
|
||||
i+=1
|
||||
"""
|
||||
|
||||
def alfaRange(x, y):
|
||||
for i in range(ord(x), ord(y)):
|
||||
print(i)
|
||||
yield chr(i) # dziala jak return
|
||||
|
||||
|
||||
for c in alfaRange('a', 'e'):
|
||||
print(c)
|
||||
|
||||
#
|
||||
# ## Operacje na plikach
|
||||
#
|
||||
|
||||
# In[45]:
|
||||
|
||||
|
||||
plik = open("haslo.txt", 'r') # sciezka wzgledna lub bezwzgledna do pliku; r=read only
|
||||
for linia in plik.readlines(): # metoda readlines przechodzi linia po linii
|
||||
print(linia.strip()) # usuwa spacje i biale znaki z koncow np. znak konca linii
|
||||
|
||||
# print(plik.read())
|
||||
# print(">>")
|
||||
|
||||
plik.close() # musimy zamknac plik
|
||||
|
||||
# In[47]:
|
||||
|
||||
|
||||
with open("haslo.txt", 'r') as plik: # drugi sposob otwieraia pliku, popularniejszy
|
||||
for linia in plik.readlines():
|
||||
print(linia) # mogą byc linie przerwy ze względu na znaki końca linii
|
||||
# print(plik.read())
|
||||
|
||||
# In[48]:
|
||||
|
||||
|
||||
with open("haslo2.txt", 'w') as plik: # w = tryb do zapisu, nadpisujemy go
|
||||
# w+ = to o dodamy bedzie dodane na sam koniec
|
||||
|
||||
for word in ('corect', 'horse', 'battery', 'staple'):
|
||||
plik.write(word)
|
||||
plik.write('\n')
|
||||
with open("haslo2.txt", 'w+') as plik:
|
||||
plik.writelines([' '.join(('corect', 'horse', 'battery', 'staple'))])
|
||||
|
||||
# # Korzystanie z modułów
|
||||
|
||||
# ## Importowanie
|
||||
|
||||
# In[49]:
|
||||
|
||||
|
||||
import os
|
||||
# import pandas as pd # ładuje pandas z alaiasem pd
|
||||
print(os.name)
|
||||
|
||||
from os import getenv # nie importuje calosc, tylko okreslona funkcje getenv
|
||||
|
||||
print('Nazwa uzytkownika: {}'.format(getenv("USER")))
|
||||
|
||||
# In[50]:
|
||||
|
||||
|
||||
from collections import * # importuje wszystko
|
||||
|
||||
print(Counter("konstantynopolitańczykowianeczka")) # funkcja couner liczy elemeny, np. ila razy jakas litera pojawił się
|
||||
|
||||
import numpy as np
|
||||
|
||||
np.array([[1, 3, 4, 5]], dtype='float32')
|
||||
|
||||
# ## Instalacja
|
||||
#
|
||||
# * lokalnie (per użytkownik) lub globalnie
|
||||
# * pyCharm lub linia komend, np. ``pip install --user flask`` lub ``python -m pip install --user flask``
|
||||
|
||||
# ## Wczytywanie z klawiatury
|
||||
|
||||
# In[51]:
|
||||
|
||||
|
||||
name = input("What's your name?\n")
|
||||
print("Welcome home, {}.".format(name))
|
||||
|
||||
# In[ ]:
|
||||
|
||||
|
||||
liczby = eval(input("Podaj liczby"))
|
||||
print(sum(liczby))
|
||||
|
Loading…
Reference in New Issue
Block a user