Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
429da687af | |||
94a4de59d7 | |||
1cdc7bbede | |||
e5791bef6c | |||
3c6642dc7c | |||
c3050ee90a | |||
f5538df1e6 | |||
f04041a3fe | |||
|
d192fa093e | ||
|
bd9ffb843a |
12
.gitignore
vendored
12
.gitignore
vendored
@ -1,12 +0,0 @@
|
|||||||
# wiki files
|
|
||||||
Python2017.wiki/*
|
|
||||||
|
|
||||||
# Jupyter Files
|
|
||||||
*/.ipynb_checkpoints/*
|
|
||||||
|
|
||||||
# Rope files
|
|
||||||
.ropeproject
|
|
||||||
*/.ropeproject
|
|
||||||
|
|
||||||
# Labs temp files
|
|
||||||
labs03/haslo2.txt
|
|
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="VcsDirectoryMappings">
|
|
||||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
88
Homework/Labs06/task02.py
Normal file
88
Homework/Labs06/task02.py
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import pandas as pd
|
||||||
|
|
||||||
|
def wczytaj_dane():
|
||||||
|
dane = pd.read_csv('C:/Users/aga/Desktop/python2017/labs06/mieszkania.csv', sep = ",", index_col='Id') #indeksowanie po Id (od 1)
|
||||||
|
return pd.DataFrame(dane).head() #dla .head() - domyslnie 5 pierwszch
|
||||||
|
#print(dane)
|
||||||
|
wczytaj_dane()
|
||||||
|
|
||||||
|
def d(dane): ##sprawdzam typ
|
||||||
|
if isinstance(dane, pd.DataFrame):
|
||||||
|
print("si")
|
||||||
|
#d(dane)
|
||||||
|
|
||||||
|
def most_common_room_number(dane):
|
||||||
|
pokoje = dane['Rooms'].value_counts().head()
|
||||||
|
print(pokoje)
|
||||||
|
#most_common_room_number(dane)
|
||||||
|
|
||||||
|
#n = 3
|
||||||
|
def cheapest_flats(dane, n): #zwroc n najtanszych
|
||||||
|
najtansze = dane.sort_values(by = ['Expected'], ascending=True)
|
||||||
|
return dane.head(n)
|
||||||
|
cheapest_flats(dane, n)
|
||||||
|
|
||||||
|
def find_borough(desc):
|
||||||
|
dzielnice = ['Stare Miasto',
|
||||||
|
'Wilda',
|
||||||
|
'Jeżyce',
|
||||||
|
'Rataje',
|
||||||
|
'Piątkowo',
|
||||||
|
'Winogrady',
|
||||||
|
'Miłostowo',
|
||||||
|
'Dębiec']
|
||||||
|
for i in dzielnice:
|
||||||
|
if i in desc:
|
||||||
|
return i
|
||||||
|
else:
|
||||||
|
return('Inne')
|
||||||
|
|
||||||
|
def add_borough(dane): #do pliku, wykres z liczba ogloszen z podzialem na dzielnice
|
||||||
|
dane['Borough'] = dane['Location'].apply(find_borough)
|
||||||
|
return dane
|
||||||
|
#add_borough(dane)
|
||||||
|
|
||||||
|
#filename = 'filename.png'
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
def write_plot(dane, filename): #do pliku ``filename`` wykres słupkowy przedstawiający liczbę ogłoszeń mieszkań z podziałem na dzielnice
|
||||||
|
kontent = dane['Borough'].value_counts()
|
||||||
|
kontent.plot(kind = 'bar')
|
||||||
|
wykres = kontent.get_figure()
|
||||||
|
wykres.savefig(filename)
|
||||||
|
|
||||||
|
#write_plot(dane, filename)
|
||||||
|
#room_number = 2
|
||||||
|
def mean_price(dane, room_number): #srednia cena mieszkania n-pokojowego
|
||||||
|
room_number = dane['Rooms']
|
||||||
|
srednia = room_number[dane['Expected']].mean()
|
||||||
|
return srednia
|
||||||
|
mean_price(dane, room_number)
|
||||||
|
|
||||||
|
def find_13(dane):
|
||||||
|
pietro13 = dane[dane['Floor'] == 13]['Borough']
|
||||||
|
return pietro13
|
||||||
|
find_13(dane)
|
||||||
|
|
||||||
|
def find_best_flats(dane): #wszystkie: Winogrady+3pokoje+1pietro
|
||||||
|
najlepsze = dane[(dane['Floor'] == 1) & dane(['Borough' == "Winogrady"]) & (dane['Rooms']==3)]
|
||||||
|
return najlepsze
|
||||||
|
|
||||||
|
#find_best_flats(dane)
|
||||||
|
|
||||||
|
def main():
|
||||||
|
dane = wczytaj_dane()
|
||||||
|
print(dane[:5])
|
||||||
|
|
||||||
|
print("Najpopularniejsza liczba pokoi w mieszkaniu to: {}"
|
||||||
|
.format(most_common_room_number(dane)))
|
||||||
|
|
||||||
|
print("{} to najłądniejsza dzielnica w Poznaniu."
|
||||||
|
.format(find_borough("Grunwald i Jeżyce"))))
|
||||||
|
|
||||||
|
print("Średnia cena dane 3-pokojowego, to: {}"
|
||||||
|
.format(mean_price(dane, 3)))
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
29
Homework/labs02/task08_rev.py
Normal file
29
Homework/labs02/task08_rev.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
Napisz funkcję sum_div35(n), która zwraca sumę wszystkich liczb podzielnych
|
||||||
|
przez 3 lub 5 mniejszych niż n.
|
||||||
|
"""
|
||||||
|
#pythonowy zakres dla funkcji range: range(3) == [0, 1, 2], czyli <n to range(n)
|
||||||
|
#example sum in range: for x in range(100, 2001, 3); 100 - 2001 range, divided by 3
|
||||||
|
|
||||||
|
|
||||||
|
#n = 100
|
||||||
|
def sum_div35(n):
|
||||||
|
return sum(range(3, n, 3)) + sum(range(5, n, 5)) - sum(range(15, n, 15))
|
||||||
|
print(sum_div35(n))
|
||||||
|
|
||||||
|
def tests(f):
|
||||||
|
inputs = [[10], [100], [3845]]
|
||||||
|
outputs = [23, 2318, 3446403]
|
||||||
|
|
||||||
|
for input, output in zip(inputs, outputs):
|
||||||
|
if f(*input) != output:
|
||||||
|
return "ERROR: {}!={}".format(f(*input), output)
|
||||||
|
break
|
||||||
|
return "TESTS PASSED"
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print(tests(sum_div35))
|
||||||
|
|
18
Homework/labs02/task09_rev.py
Normal file
18
Homework/labs02/task09_rev.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
## final version L02T09
|
||||||
|
|
||||||
|
def leet_speak(words):
|
||||||
|
return words.replace("e","3").replace("l","1").replace("o","0").replace("t","7")
|
||||||
|
|
||||||
|
|
||||||
|
def tests(f):
|
||||||
|
inputs = [['leet'], ['do not want']]
|
||||||
|
outputs = ['1337', 'd0 n07 wan7']
|
||||||
|
|
||||||
|
for input, output in zip(inputs, outputs):
|
||||||
|
if f(*input) != output:
|
||||||
|
return "ERROR: {}!={}".format(f(*input), output)
|
||||||
|
break
|
||||||
|
return "TESTS PASSED"
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print(tests(leet_speak))
|
30
Homework/labs02/task10_rev.py
Normal file
30
Homework/labs02/task10_rev.py
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
Napisz funkcję pokemon_speak, która zamienia w podanym napisie co drugą literę
|
||||||
|
na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def pokemon_speak(words):
|
||||||
|
words = str()
|
||||||
|
for i, l in enumerate(text): #zwraca element i index <- enumerate(iterable, start=0)
|
||||||
|
if i % 2 == 0:
|
||||||
|
words += l.upper()
|
||||||
|
else:
|
||||||
|
words += l
|
||||||
|
return words
|
||||||
|
|
||||||
|
def tests(f):
|
||||||
|
inputs = [['pokemon'], ['do not want'], ['POKEMON']]
|
||||||
|
outputs = ['PoKeMoN', 'Do nOt wAnT', 'POKEMON']
|
||||||
|
|
||||||
|
for input, output in zip(inputs, outputs):
|
||||||
|
if f(*input) != output:
|
||||||
|
return "ERROR: {}!={}".format(f(*input), output)
|
||||||
|
break
|
||||||
|
return "TESTS PASSED"
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print(tests(pokemon_speak))
|
33
Homework/labs02/task11_rev.py
Normal file
33
Homework/labs02/task11_rev.py
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
Napisz funkcję common_chars(string1, string2), która zwraca alfabetycznie
|
||||||
|
uporządkowaną listę wspólnych liter z lańcuchów string1 i string2.
|
||||||
|
Oba napisy będą składać się wyłacznie z małych liter.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def common_chars(string1, string2):
|
||||||
|
temp=[]
|
||||||
|
str1 = list(set(string1.replace(' ', '')))
|
||||||
|
str2 = list(set(string2.replace(' ', '')))
|
||||||
|
for i in str1:
|
||||||
|
if i in str2:
|
||||||
|
temp.append(i)
|
||||||
|
temp.sort()
|
||||||
|
return temp
|
||||||
|
|
||||||
|
|
||||||
|
def tests(f):
|
||||||
|
inputs = [["this is a string", "ala ma kota"]]
|
||||||
|
outputs = [['a', 't']]
|
||||||
|
|
||||||
|
for input, output in zip(inputs, outputs):
|
||||||
|
if f(*input) != output:
|
||||||
|
return "ERROR: {}!={}".format(f(*input), output)
|
||||||
|
break
|
||||||
|
return "TESTS PASSED"
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print(tests(common_chars))
|
37
Homework/labs02/task_07_rev.py
Normal file
37
Homework/labs02/task_07_rev.py
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
#text = [["aaa"], ["bbb"], ["this is another string"]]
|
||||||
|
#text = "aaa"
|
||||||
|
text = [["this is a string"], ["this is another string"]]
|
||||||
|
|
||||||
|
def char_sum(text):
|
||||||
|
if isinstance(text, str):
|
||||||
|
def form_ascii(text):
|
||||||
|
print(sum(map(ord, text)))
|
||||||
|
return form_ascii(text)
|
||||||
|
elif isinstance(text, list):
|
||||||
|
def ascii_list(text):
|
||||||
|
loc = [sub_list[0] for sub_list in text]
|
||||||
|
for i in loc:
|
||||||
|
print(sum(map(ord, i)))
|
||||||
|
return ascii_list(text)
|
||||||
|
else:
|
||||||
|
print("try harder")
|
||||||
|
|
||||||
|
|
||||||
|
char_sum(text)
|
||||||
|
|
||||||
|
|
||||||
|
def tests(f):
|
||||||
|
inputs = [["this is a string"], ["this is another string"]]
|
||||||
|
outputs = [1516, 2172]
|
||||||
|
|
||||||
|
for input, output in zip(inputs, outputs):
|
||||||
|
if f(*input) != output:
|
||||||
|
return "ERROR: {}!={}".format(f(*input), output)
|
||||||
|
break
|
||||||
|
return "TESTS PASSED"
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print(tests(char_sum))
|
22
Homework/labs03/task05_rev.py
Normal file
22
Homework/labs03/task05_rev.py
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
"""
|
||||||
|
ćwiczenie 5 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ą).
|
||||||
|
"""
|
||||||
|
import glob,json
|
||||||
|
dane={} #stwórz komunikat jsona do przechowania kompletu inf.
|
||||||
|
plik=""
|
||||||
|
for i in glob.glob('scores/*'):
|
||||||
|
wczytaj=open(i,'r').read()
|
||||||
|
uporzadkuj = wczytaj.replace(",","").split(" ")
|
||||||
|
print(uporzadkuj)
|
||||||
|
dane[i]=float(uporzadkuj[2]) #zamien na float wartosci dla skladnika BLEU
|
||||||
|
|
||||||
|
minimum = min(dane, key=dane.get)
|
||||||
|
print(minimum)
|
@ -1,124 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
import logging
|
|
||||||
import git
|
|
||||||
import os
|
|
||||||
import importlib
|
|
||||||
import collections
|
|
||||||
import csv
|
|
||||||
|
|
||||||
logger = logging.getLogger('Homeworks')
|
|
||||||
logger.setLevel(logging.DEBUG)
|
|
||||||
fm = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|
||||||
ch = logging.StreamHandler()
|
|
||||||
ch.setFormatter(fm)
|
|
||||||
logger.addHandler(ch)
|
|
||||||
|
|
||||||
|
|
||||||
def arg_parse():
|
|
||||||
parser = argparse.ArgumentParser(description='Framework for checking homeworks.')
|
|
||||||
parser.add_argument('-i', '--ids', type=str,
|
|
||||||
help='path to a file with student ids.')
|
|
||||||
return parser.parse_args()
|
|
||||||
|
|
||||||
def get_ids(path):
|
|
||||||
ids = []
|
|
||||||
with open(path) as _file:
|
|
||||||
for line in _file:
|
|
||||||
ids.append(line.strip().split(' ')[::2])
|
|
||||||
return ids
|
|
||||||
|
|
||||||
|
|
||||||
def clone_repo(username, repo_name):
|
|
||||||
repo = "https://git.wmi.amu.edu.pl/{}/{}.git".format(username, repo_name)
|
|
||||||
dest = "./Python2017-{}".format(username)
|
|
||||||
if os.path.exists(dest):
|
|
||||||
logger.debug("{}: repo exests.".format(username))
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
git.Repo.clone_from(repo, dest)
|
|
||||||
except git.GitCommandError:
|
|
||||||
logger.info("Repository '{}' does not exist".format(repo))
|
|
||||||
return False
|
|
||||||
return True
|
|
||||||
|
|
||||||
def check_tasks(username, repo_name, tasks):
|
|
||||||
logger.debug("Marking user: {}".format(username))
|
|
||||||
scores = collections.defaultdict(dict)
|
|
||||||
for lab in tasks:
|
|
||||||
path = os.path.realpath("./Python2017-{}/{}".format(username, lab))
|
|
||||||
for task, fun in tasks[lab]:
|
|
||||||
task_file = path + "/{}". format(task)
|
|
||||||
logger.debug(task_file)
|
|
||||||
package = 'Python2017-{}.{}.{}'.format(username, lab, task)
|
|
||||||
lib = importlib.import_module(package)
|
|
||||||
tested_fun = getattr(lib, fun)
|
|
||||||
tests = getattr(lib, 'tests')
|
|
||||||
try:
|
|
||||||
test_result = tests(tested_fun)
|
|
||||||
except Exception:
|
|
||||||
test_result = "FAILED"
|
|
||||||
|
|
||||||
if test_result == 'TESTS PASSED':
|
|
||||||
scores[lab][task] = 1
|
|
||||||
else:
|
|
||||||
scores[lab][task] = 0
|
|
||||||
return scores
|
|
||||||
|
|
||||||
def get_fieldnames(tasks):
|
|
||||||
fieldnames = ['ID']
|
|
||||||
for lab in tasks:
|
|
||||||
for task, _ in tasks[lab]:
|
|
||||||
fieldnames.append('{}:{}'.format(lab, task))
|
|
||||||
return fieldnames
|
|
||||||
|
|
||||||
def parse_scores(fieldnames, uname, scores):
|
|
||||||
out = {}
|
|
||||||
for name in fieldnames:
|
|
||||||
if name == 'ID':
|
|
||||||
out[name] = uname
|
|
||||||
continue
|
|
||||||
lab, task = name.split(':')
|
|
||||||
out[name] = scores[lab][task]
|
|
||||||
return out
|
|
||||||
|
|
||||||
|
|
||||||
def write_scores(scores, filename, tasks):
|
|
||||||
fieldnames = get_fieldnames(tasks)
|
|
||||||
|
|
||||||
with open(filename, 'w') as results:
|
|
||||||
writer = csv.DictWriter(results, fieldnames, restval=0)
|
|
||||||
writer.writeheader()
|
|
||||||
for student in scores:
|
|
||||||
writer.writerow(parse_scores(fieldnames, student, scores[student]))
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
""" main """
|
|
||||||
options = arg_parse()
|
|
||||||
ids = get_ids(options.ids)
|
|
||||||
logger.info("Liczba studentów: {}".format(len(ids)))
|
|
||||||
scores = {}
|
|
||||||
|
|
||||||
tasks = {
|
|
||||||
'labs02' : [
|
|
||||||
('task07', 'char_sum'),
|
|
||||||
('task08', 'sum_div35'),
|
|
||||||
('task09', 'leet_speak'),
|
|
||||||
('task10', 'pokemon_speak'),
|
|
||||||
('task11', 'common_chars')
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
for repo_id in ids:
|
|
||||||
st_uname = repo_id[0]
|
|
||||||
repo_name = repo_id[-1]
|
|
||||||
if clone_repo(st_uname, repo_name):
|
|
||||||
scores[st_uname] = check_tasks(st_uname, repo_name, tasks)
|
|
||||||
write_scores(scores, 'results.csv', tasks)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
@ -1,38 +0,0 @@
|
|||||||
ID | labs02:task07 | labs02:task08 | labs02:task09 | labs02:task10 | labs02:task11 | labs03 | labs04 | labs06 | Punkty | Ocena |
|
|
||||||
---------|-----------------|-----------------|-----------------|-----------------|-----------------|----------|----------|----------|--------|-------|
|
|
||||||
s45146 | 1 | 1 | 1 | 1 | 1 | 4 | 5 | 8 | 22 | 5 |
|
|
||||||
s45147 | 1 | 1 | 1 | 1 | 1 | 4 | 5 | 8 | 22 | 5 |
|
|
||||||
s45148 | 1 | 1 | 1 | 1 | 1 | 4 | 5 | 8 | 22 | 5 |
|
|
||||||
s45150 | 1 | 1 | 1 | 1 | 1 | 2 | 1 | 8 | 16 | 4 |
|
|
||||||
s45151 | 1 | 1 | 1 | 1 | 1 | 0 | 5 | 8 | 18 | 4.5 |
|
|
||||||
s45152 | 1 | 1 | 1 | 0 | 1 | 0 | 5 | 8 | 17 | 4 |
|
|
||||||
s45153 | 0 | 1 | 1 | 1 | 1 | 4 | 0 | 8 | 16 | 4 |
|
|
||||||
s45155 | 1 | 1 | 1 | 1 | 1 | 1 | 5 | 8 | 19 | 4.5 |
|
|
||||||
s45156 | 1 | 1 | 1 | 1 | 1 | 4 | 5 | 8 | 22 | 5 |
|
|
||||||
s45157 | 1 | 1 | 1 | 1 | 1 | 4 | 4 | 8 | 21 | 5 |
|
|
||||||
s45158 | 1 | 1 | 0 | 0 | 1 | 4 | 5 | 8 | 19 | 4.5 |
|
|
||||||
s45159 | 1 | 1 | 1 | 1 | 1 | 2 | 3 | 8 | 18 | 4.5 |
|
|
||||||
s45160 | 1 | 1 | 1 | 1 | 1 | 4 | 4 | 8 | 21 | 5 |
|
|
||||||
s45161 | 1 | 1 | 1 | 1 | 1 | 4 | 5 | 8 | 22 | 5 |
|
|
||||||
s45162 | 1 | 1 | 1 | 1 | 1 | 4 | 5 | 8 | 22 | 5 |
|
|
||||||
s45163 | 1 | 1 | 1 | 1 | 1 | 4 | 4 | 8 | 21 | 5 |
|
|
||||||
s45164 | 1 | 1 | 0 | 1 | 0 | 0 | 5 | 8 | 16 | 4 |
|
|
||||||
s45165 | 1 | 1 | 1 | 1 | 1 | 4 | 5 | 8 | 22 | 5 |
|
|
||||||
s45166 | 1 | 1 | 1 | 1 | 1 | 4 | 5 | 8 | 22 | 5 |
|
|
||||||
s45167 | 1 | 1 | 1 | 1 | 1 | 0 | 5 | 8 | 17 | 4 |
|
|
||||||
s45168 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
|
|
||||||
s45452 | 1 | 1 | 1 | 1 | 1 | 4 | 4 | 8 | 21 | 5 |
|
|
||||||
szwedek | 1 | 1 | 1 | 1 | 1 | 4 | 5 | 10 | 24 | 5 |
|
|
||||||
|
|
||||||
Skala:
|
|
||||||
|
|
||||||
Punkty | Ocena |
|
|
||||||
-------|-------|
|
|
||||||
24-20 | 5 |
|
|
||||||
19-18 | 4.5 |
|
|
||||||
17-16 | 4 |
|
|
||||||
15-13 | 3 |
|
|
||||||
12-0 | 2 |
|
|
||||||
|
|
||||||
|
|
||||||
Max: 22
|
|
@ -49,34 +49,22 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 9,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"slideshow": {
|
"slideshow": {
|
||||||
"slide_type": "slide"
|
"slide_type": "slide"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"2\n",
|
|
||||||
"[1, 2, 3, 1, 2, 3]\n",
|
|
||||||
"123\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"def dwojak(x): \n",
|
"def dwojak(x): x *= 2\n",
|
||||||
" x *= 2\n",
|
|
||||||
" return x\n",
|
|
||||||
" \n",
|
" \n",
|
||||||
"l = [1, 2, 3]\n",
|
"l = [1, 2, 3]\n",
|
||||||
"s = \"123\"\n",
|
"s = \"123\"\n",
|
||||||
"\n",
|
"\n",
|
||||||
"dwojak(l)\n",
|
"dwojak(l)\n",
|
||||||
"dwojak(s)\n",
|
"dwojak(s)\n",
|
||||||
"print(dwojak(1))\n",
|
"\n",
|
||||||
"print(l)\n",
|
"print(l)\n",
|
||||||
"print(s)"
|
"print(s)"
|
||||||
]
|
]
|
||||||
@ -116,28 +104,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 11,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"slideshow": {
|
"slideshow": {
|
||||||
"slide_type": "slide"
|
"slide_type": "slide"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"[1, 2, 3, 1, 2, 3]\n",
|
|
||||||
"F: [1, 2, 3, 1, 2, 3]\n",
|
|
||||||
"[1, 2, 3]\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"def dwojak1(x): x *= 2\n",
|
"def dwojak1(x): x *= 2\n",
|
||||||
"def dwojak2(x): \n",
|
"def dwojak2(x): x = x * 2\n",
|
||||||
" x = x * 2\n",
|
|
||||||
" print(\"F:\", x)\n",
|
|
||||||
"\n",
|
"\n",
|
||||||
"l = [1,2, 3]\n",
|
"l = [1,2, 3]\n",
|
||||||
"dwojak1(l)\n",
|
"dwojak1(l)\n",
|
||||||
@ -150,47 +126,29 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 17,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"slideshow": {
|
"slideshow": {
|
||||||
"slide_type": "slide"
|
"slide_type": "slide"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"[1, 2, 3]\n",
|
|
||||||
"[1, 2, 3, 4]\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"l = [1, 2, 3]\n",
|
"l = [1, 2, 3]\n",
|
||||||
"e = l[:]\n",
|
"e = l\n",
|
||||||
"e.append(4)\n",
|
"e.append(4)\n",
|
||||||
"print(l)\n",
|
"print(l)"
|
||||||
"print(e)"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 19,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"slideshow": {
|
"slideshow": {
|
||||||
"slide_type": "slide"
|
"slide_type": "slide"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"[[1], [1], [1]]\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"e = []\n",
|
"e = []\n",
|
||||||
"f = [e for i in range(3)]\n",
|
"f = [e for i in range(3)]\n",
|
||||||
@ -214,39 +172,18 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 25,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"slideshow": {
|
"slideshow": {
|
||||||
"slide_type": "slide"
|
"slide_type": "slide"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"(1, 'napis', [0])\n",
|
|
||||||
"3\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ename": "TypeError",
|
|
||||||
"evalue": "unhashable type: 'list'",
|
|
||||||
"output_type": "error",
|
|
||||||
"traceback": [
|
|
||||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
|
||||||
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
|
|
||||||
"\u001b[0;32m<ipython-input-25-2bd2fa17fbf5>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
|
|
||||||
"\u001b[0;31mTypeError\u001b[0m: unhashable type: 'list'"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"t = (1, \"napis\", [])\n",
|
"t = (1, \"napis\", None)\n",
|
||||||
"t[-1].append(0)\n",
|
"elem = t[0]\n",
|
||||||
"print(t)\n",
|
"print(t)\n",
|
||||||
"print(len(t))\n",
|
"print(len(t))"
|
||||||
"print({t: None})"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -262,29 +199,19 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 36,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"slideshow": {
|
"slideshow": {
|
||||||
"slide_type": "fragment"
|
"slide_type": "fragment"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"15\n",
|
|
||||||
"a == 1\n",
|
|
||||||
"b == (3, 4)\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"def suma(*args):\n",
|
"def suma(*args):\n",
|
||||||
" return sum(args)\n",
|
" return sum(args)\n",
|
||||||
"print(suma(1,2,3,4,5))\n",
|
"print(suma(1,2,3,4,5))\n",
|
||||||
"\n",
|
"\n",
|
||||||
"def greet_me(z=None,**kwargs):\n",
|
"def greet_me(**kwargs):\n",
|
||||||
" if kwargs is not None:\n",
|
" if kwargs is not None:\n",
|
||||||
" for key, value in kwargs.items():\n",
|
" for key, value in kwargs.items():\n",
|
||||||
" print(\"%s == %s\" %(key,value))\n",
|
" print(\"%s == %s\" %(key,value))\n",
|
||||||
@ -304,29 +231,21 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 38,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"slideshow": {
|
"slideshow": {
|
||||||
"slide_type": "fragment"
|
"slide_type": "fragment"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"97\n",
|
|
||||||
"a\n",
|
|
||||||
"98\n",
|
|
||||||
"b\n",
|
|
||||||
"99\n",
|
|
||||||
"c\n",
|
|
||||||
"100\n",
|
|
||||||
"d\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
|
"def alfaRange(x, y):\n",
|
||||||
|
" for i in range(ord(x), ord(y)):\n",
|
||||||
|
" yield chr(i)\n",
|
||||||
|
"\n",
|
||||||
|
"for c in alfaRange('a', 'e'):\n",
|
||||||
|
" print(c)\n",
|
||||||
|
" ##druga wersja; w Pythonie3 f range rozni sie od 2\n",
|
||||||
"def alfaRange(x, y):\n",
|
"def alfaRange(x, y):\n",
|
||||||
" for i in range(ord(x), ord(y)):\n",
|
" for i in range(ord(x), ord(y)):\n",
|
||||||
" print(i)\n",
|
" print(i)\n",
|
||||||
@ -349,74 +268,41 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 45,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"slideshow": {
|
"slideshow": {
|
||||||
"slide_type": "fragment"
|
"slide_type": "fragment"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"W Paryżu najlepsze kasztany są na placu Pigalle\n",
|
|
||||||
"Zuzanna lubi je tylko jesienią.\n",
|
|
||||||
"\n",
|
|
||||||
">>\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"plik = open(\"haslo.txt\", 'r')\n",
|
"plik = open(\"haslo.txt\", 'r') ## r - read only\n",
|
||||||
"for linia in plik.readlines():\n",
|
"for linia in plik.readlines():\n",
|
||||||
" print(linia.strip())\n",
|
" print(linia.strip())\n",
|
||||||
"print(plik.read())\n",
|
"print(plik.read())\n",
|
||||||
"print(\">>\")\n",
|
"print(\">>\")\n",
|
||||||
"plik.close()"
|
"plik.close() ## jesli nie uzyjemy tej funkcji przy duzej liczbie plikow, to skoncza sie deskryptory"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 47,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"slideshow": {
|
"slideshow": {
|
||||||
"slide_type": "slide"
|
"slide_type": "slide"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"W Paryżu najlepsze kasztany są na placu Pigalle\n",
|
|
||||||
"\n",
|
|
||||||
"Zuzanna lubi je tylko jesienią.\n",
|
|
||||||
"\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"ename": "ValueError",
|
|
||||||
"evalue": "I/O operation on closed file.",
|
|
||||||
"output_type": "error",
|
|
||||||
"traceback": [
|
|
||||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
|
||||||
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
|
|
||||||
"\u001b[0;32m<ipython-input-47-f06513c1bbec>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mlinia\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mplik\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreadlines\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlinia\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mplik\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
|
|
||||||
"\u001b[0;31mValueError\u001b[0m: I/O operation on closed file."
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"with open(\"haslo.txt\", 'r') as plik:\n",
|
"with open(\"haslo.txt\", 'r') as plik: ## wygodne do pracy z plikami\n",
|
||||||
" for linia in plik.readlines():\n",
|
" for linia in plik.readlines():\n",
|
||||||
" print(linia)\n",
|
" print(linia)\n",
|
||||||
"print(plik.read())"
|
"# print(plik.read()) ##nie trzeba zamykac plikow"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 48,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"collapsed": true,
|
"collapsed": true,
|
||||||
"slideshow": {
|
"slideshow": {
|
||||||
@ -425,7 +311,7 @@
|
|||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"with open(\"haslo2.txt\", 'w') as plik:\n",
|
"with open(\"haslo2.txt\", 'w') as plik: ## write - zapis do pliku\n",
|
||||||
" for word in ('corect', 'horse', 'battery', 'staple'):\n",
|
" for word in ('corect', 'horse', 'battery', 'staple'):\n",
|
||||||
" plik.write(word)\n",
|
" plik.write(word)\n",
|
||||||
" plik.write('\\n')\n",
|
" plik.write('\\n')\n",
|
||||||
@ -457,24 +343,15 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 49,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"slideshow": {
|
"slideshow": {
|
||||||
"slide_type": "fragment"
|
"slide_type": "fragment"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"posix\n",
|
|
||||||
"Nazwa uzytkownika: tomaszd\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"import os\n",
|
"import os ##ta biblioteka pozwala na operacje na systemie operacyjnym\n",
|
||||||
"print(os.name)\n",
|
"print(os.name)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"from os import getenv\n",
|
"from os import getenv\n",
|
||||||
@ -483,31 +360,13 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 50,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"slideshow": {
|
"slideshow": {
|
||||||
"slide_type": "slide"
|
"slide_type": "slide"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Counter({'o': 4, 'n': 4, 'a': 4, 'k': 3, 't': 3, 'y': 2, 'i': 2, 'c': 2, 'z': 2, 's': 1, 'p': 1, 'l': 1, 'ń': 1, 'w': 1, 'e': 1})\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"text/plain": [
|
|
||||||
"array([[ 1., 3., 4., 5.]], dtype=float32)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"execution_count": 50,
|
|
||||||
"metadata": {},
|
|
||||||
"output_type": "execute_result"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"from collections import *\n",
|
"from collections import *\n",
|
||||||
"print(Counter(\"konstantynopolitańczykowianeczka\"))\n",
|
"print(Counter(\"konstantynopolitańczykowianeczka\"))\n",
|
||||||
@ -544,23 +403,13 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 51,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"slideshow": {
|
"slideshow": {
|
||||||
"slide_type": "fragment"
|
"slide_type": "fragment"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"outputs": [
|
"outputs": [],
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"What's your name?\n",
|
|
||||||
"Tomasz\n",
|
|
||||||
"Welcome home, Tomasz.\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
"source": [
|
||||||
"name = input(\"What's your name?\\n\")\n",
|
"name = input(\"What's your name?\\n\")\n",
|
||||||
"print(\"Welcome home, {}.\".format(name))"
|
"print(\"Welcome home, {}.\".format(name))"
|
3
la/README.md
Normal file
3
la/README.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Link do arkusza z obecnością:
|
||||||
|
|
||||||
|
https://docs.google.com/spreadsheets/d/1TxJSYM-voKJ7siCgtkCS77pSF0l7I-OtzfCrQdq9RtE/edit?usp=sharing
|
48
la/cw_3.py
Normal file
48
la/cw_3.py
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
def suma(*args): ## funkcja przejmuje wszystkie argumenty, ktore nie zostaly nazwane (arguments)
|
||||||
|
return sum(args)
|
||||||
|
print(suma(1,2,3,4,5))
|
||||||
|
|
||||||
|
def suma(x, *args): ### x bedzie 1, a reszta argumentow bedzie podstawiona do do args i wydzie 14
|
||||||
|
return sum(args)
|
||||||
|
print(suma(1,2,3,4,5))
|
||||||
|
|
||||||
|
def greet_me(**kwargs): ##key-word arguments
|
||||||
|
if kwargs is not None:
|
||||||
|
for key, value in kwargs.items():
|
||||||
|
print("%s == %s" %(key,value))
|
||||||
|
greet_me(a=1, b=(3,4))
|
||||||
|
|
||||||
|
def greet_me(z=None,**kwargs): ##key-word arguments; przydatne dla funkcji, ktore przyjmuja bardzo duzo argumentow
|
||||||
|
if kwargs is not None:
|
||||||
|
for key, value in kwargs.items():
|
||||||
|
print("%s == %s" %(key,value))
|
||||||
|
greet_me(a=1, b=(3,4))
|
||||||
|
|
||||||
|
plik = open("haslo.txt", 'r') ## r - read only
|
||||||
|
for linia in plik.readlines():
|
||||||
|
print(linia.strip())
|
||||||
|
print(plik.read())
|
||||||
|
plik.close()
|
||||||
|
|
||||||
|
plik = open("haslo.txt", 'r') ## r - read only
|
||||||
|
for linia in plik.readlines():
|
||||||
|
print(linia.strip())
|
||||||
|
print(plik.read())
|
||||||
|
print(">>")
|
||||||
|
plik.close()
|
||||||
|
|
||||||
|
with open("haslo23.txt", 'w') as plik: ## write - zapis do pliku
|
||||||
|
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'))])
|
||||||
|
|
||||||
|
import os ##ta biblioteka pozwala na operacje na systemie operacyjnym
|
||||||
|
print(os.name)
|
||||||
|
|
||||||
|
from os import getenv
|
||||||
|
print('Nazwa uzytkownika: {}'.format(getenv("USER")))
|
||||||
|
|
||||||
|
name = input("What's your name?\n")
|
||||||
|
print("Welcome home, {}.".format(name))
|
1
la/haslo2.txt
Normal file
1
la/haslo2.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
corect horse battery staple
|
1
la/haslo23.txt
Normal file
1
la/haslo23.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
corect horse batterystaple
|
@ -4,16 +4,47 @@
|
|||||||
"""
|
"""
|
||||||
Zad 2. Napisz funkcję even_elements zwracającą listę,
|
Zad 2. Napisz funkcję even_elements zwracającą listę,
|
||||||
która zawiera tylko elementy z list o parzystych indeksach.
|
która zawiera tylko elementy z list o parzystych indeksach.
|
||||||
|
== identyczne
|
||||||
|
!= rozne
|
||||||
|
and
|
||||||
|
or (malymi literami)
|
||||||
"""
|
"""
|
||||||
|
lista = [5, 7, 9, 0, 10]
|
||||||
def even_elements(lista):
|
def even_elements(lista):
|
||||||
pass
|
for i in lista:
|
||||||
|
id = lista.index()
|
||||||
|
if id %2==0:
|
||||||
|
print('parzyste indeksy', even_elements(id))
|
||||||
|
|
||||||
|
l = [99, 44, 33]
|
||||||
|
print(l.index(44))
|
||||||
|
|
||||||
|
def find_element_in_list(element, list_element):
|
||||||
|
try:
|
||||||
|
index_element = list_element.index(element)
|
||||||
|
return index_element
|
||||||
|
except ValueError:
|
||||||
|
return None
|
||||||
|
|
||||||
|
lista = [5, 7, 9, 0, 10]
|
||||||
|
id = lista.index("5")
|
||||||
|
print("lista",[id])
|
||||||
|
|
||||||
|
|
||||||
|
testlist = [1,2,3,5,3,1,2,1,6]
|
||||||
|
for id, value in enumerate(testlist):
|
||||||
|
if id == 3:
|
||||||
|
print(testlist[id])
|
||||||
|
|
||||||
|
|
||||||
def tests(f):
|
def tests(f):
|
||||||
inputs = [[[1, 2, 3, 4, 5, 6]], [[]], [[41]]]
|
inputs = [[[1, 2, 3, 4, 5, 6]], [[]], [[41]]]
|
||||||
outputs = [[1, 3, 5], [], [41]]
|
outputs = [[1, 3, 5], [], [41]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for input, output in zip(inputs, outputs):
|
for input, output in zip(inputs, outputs):
|
||||||
if f(*input) != output:
|
if f(*input) != output:
|
||||||
return "ERROR: {}!={}".format(f(*input), output)
|
return "ERROR: {}!={}".format(f(*input), output)
|
||||||
|
42
labs02/task07_done.py
Normal file
42
labs02/task07_done.py
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
Napisz funkcję char_sum, która dla zadanego łańcucha zwraca
|
||||||
|
sumę kodów ASCII znaków.
|
||||||
|
"""
|
||||||
|
def dekodowanie(text):
|
||||||
|
sum = 0
|
||||||
|
for c in text:
|
||||||
|
char_ascii = ord(c)
|
||||||
|
sum += char_ascii
|
||||||
|
return char_ascii
|
||||||
|
|
||||||
|
|
||||||
|
def char_sum(a):
|
||||||
|
if isinstance(a, str):
|
||||||
|
return dekodowanie(a)
|
||||||
|
elif isinstance(a, list):
|
||||||
|
overall = 0
|
||||||
|
for i in a:
|
||||||
|
overall += dekodowanie(i)
|
||||||
|
return overall
|
||||||
|
|
||||||
|
### gdzieś mam błąd, którego nie umiem zidentyfikować,
|
||||||
|
# poniweż niepoprawnie mi wykonuje dekodowanie/sumowanie dla zagnieżdżonych list w liście.
|
||||||
|
# wysyłam do momentu, w którym miałam wrażenie, że wiem o co chodzi. ;)
|
||||||
|
|
||||||
|
def tests(f):
|
||||||
|
inputs = [["this is a string"], ["this is another string"]]
|
||||||
|
#inputs = [["ala ma kota"], ["ala ma kota"]]
|
||||||
|
#outputs = [1516, 2172]
|
||||||
|
outputs = [103, 103]
|
||||||
|
#outputs = [97, 97]
|
||||||
|
for input, output in zip(inputs, outputs):
|
||||||
|
if f(*input) != output:
|
||||||
|
return "ERROR: {}!={}".format(f(*input), output)
|
||||||
|
break
|
||||||
|
return "TESTS PASSED"
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print(tests(char_sum))
|
29
labs02/task08_done.py
Normal file
29
labs02/task08_done.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
Napisz funkcję sum_div35(n), która zwraca sumę wszystkich liczb podzielnych
|
||||||
|
przez 3 lub 5 mniejszych niż n.
|
||||||
|
"""
|
||||||
|
#pythonowy zakres dla funkcji range: range(3) == [0, 1, 2], czyli <n to range(n)
|
||||||
|
#example sum in range: for x in range(100, 2001, 3); 100 - 2001 range, divided by 3
|
||||||
|
|
||||||
|
|
||||||
|
#n = 100
|
||||||
|
def sum_div35(n):
|
||||||
|
return sum(range(3, n, 3)) + sum(range(5, n, 5)) - sum(range(15, n, 15))
|
||||||
|
print(sum_div35(n))
|
||||||
|
|
||||||
|
def tests(f):
|
||||||
|
inputs = [[10], [100], [3845]]
|
||||||
|
outputs = [23, 2318, 3446403]
|
||||||
|
|
||||||
|
for input, output in zip(inputs, outputs):
|
||||||
|
if f(*input) != output:
|
||||||
|
return "ERROR: {}!={}".format(f(*input), output)
|
||||||
|
break
|
||||||
|
return "TESTS PASSED"
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print(tests(sum_div35))
|
||||||
|
|
32
labs02/task09_done.py
Normal file
32
labs02/task09_done.py
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
Napisz funkcję leet_speak, która podmienia w podanym napisie niektóre litery
|
||||||
|
na podobnie wyglądające cyfry: 'e' na '3', 'l' na '1', 'o' na '0', 't' na '7'.
|
||||||
|
Np. leet('leet') powinno zwrócić '1337'.
|
||||||
|
"""
|
||||||
|
text = 'leeeet toe' ## przykładowy tekst, na którym funkcja działa
|
||||||
|
dic = {'e': '3', 'l': '1', 'o': '0', 't':'7'}
|
||||||
|
def leet_speak(text, dic):
|
||||||
|
for i, j in dic.items(): ##wersja dla pythona3, dla pythona2 to było iteritems
|
||||||
|
text = text.replace(i, j)
|
||||||
|
return text
|
||||||
|
txt_changed = leet_speak(text, dic)
|
||||||
|
print(txt_changed)
|
||||||
|
|
||||||
|
## chyba powtarzam błąd z zadania 7 - dla inputs z tests w postaci zagnieżdżonej
|
||||||
|
## listy nie wywołouje mojej funckji :(
|
||||||
|
|
||||||
|
def tests(f):
|
||||||
|
inputs = [['leet'], ['do not want']]
|
||||||
|
outputs = ['1337', 'd0 n07 wan7']
|
||||||
|
|
||||||
|
for input, output in zip(inputs, outputs):
|
||||||
|
if f(*input) != output:
|
||||||
|
return "ERROR: {}!={}".format(f(*input), output)
|
||||||
|
break
|
||||||
|
return "TESTS PASSED"
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print(tests(leet_speak))
|
@ -18,4 +18,8 @@ def tests(f):
|
|||||||
break
|
break
|
||||||
return "TESTS PASSED"
|
return "TESTS PASSED"
|
||||||
|
|
||||||
print(tests(suma))
|
if __name__ == "__main__":
|
||||||
|
print(tests(suma))
|
||||||
|
|
||||||
|
|
||||||
|
### 5 ostatnich zadań, to zadania domowe
|
@ -1,36 +0,0 @@
|
|||||||
# Laboratoria 3
|
|
||||||
|
|
||||||
## Zadania
|
|
||||||
|
|
||||||
**ćwiczenie 0**
|
|
||||||
Sklonuj repozytorium ``https://github.com/realpython/python-scripts``, które różne, przydatne skrypty. Przejrzyj je i zobacz na ile jesteś w stanie zrozumieć co i jak robią. Uruchom kilka z nich, np. ``27_send_sms.py``.
|
|
||||||
|
|
||||||
**ćwiczenie 1**
|
|
||||||
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**
|
|
||||||
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**
|
|
||||||
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 obiketu typu JSON.
|
|
||||||
* Wyświetl wartość kursu EUR do PLN.
|
|
||||||
|
|
||||||
**ćwiczenie 4**
|
|
||||||
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**
|
|
||||||
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ą).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
|||||||
W Paryżu najlepsze kasztany są na placu Pigalle
|
|
||||||
Zuzanna lubi je tylko jesienią.
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 2.02, 17.1/3.6/1.0/0.3 (BP=1.000, ratio=1.872, hyp_len=80326, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 13.99, 44.4/18.5/9.3/5.0 (BP=1.000, ratio=1.072, hyp_len=45976, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 14.35, 44.9/19.0/9.6/5.2 (BP=1.000, ratio=1.087, hyp_len=46657, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 15.75, 47.1/20.5/10.7/6.0 (BP=1.000, ratio=1.030, hyp_len=44211, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 15.96, 47.7/20.8/10.9/6.0 (BP=1.000, ratio=1.029, hyp_len=44160, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 15.42, 46.8/20.3/10.5/5.7 (BP=1.000, ratio=1.043, hyp_len=44729, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 15.84, 47.3/20.7/10.8/5.9 (BP=1.000, ratio=1.034, hyp_len=44374, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 15.99, 47.7/20.8/10.9/6.0 (BP=1.000, ratio=1.031, hyp_len=44233, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 16.15, 47.9/21.0/11.0/6.1 (BP=1.000, ratio=1.027, hyp_len=44065, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 15.86, 47.1/20.8/10.8/6.0 (BP=1.000, ratio=1.053, hyp_len=45191, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 16.07, 47.7/21.0/11.0/6.0 (BP=1.000, ratio=1.044, hyp_len=44795, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 5.87, 31.1/8.9/3.3/1.3 (BP=1.000, ratio=1.155, hyp_len=49533, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 16.82, 48.9/21.7/11.5/6.6 (BP=0.998, ratio=0.998, hyp_len=42837, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 16.70, 48.7/21.7/11.5/6.4 (BP=1.000, ratio=1.017, hyp_len=43622, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 16.85, 48.9/21.9/11.7/6.5 (BP=1.000, ratio=1.020, hyp_len=43777, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 16.59, 48.3/21.6/11.4/6.3 (BP=1.000, ratio=1.029, hyp_len=44127, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 16.94, 48.6/22.0/11.7/6.6 (BP=1.000, ratio=1.038, hyp_len=44517, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.52, 49.7/22.5/12.2/6.9 (BP=1.000, ratio=1.003, hyp_len=43053, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 16.82, 48.6/21.9/11.6/6.5 (BP=1.000, ratio=1.037, hyp_len=44475, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.16, 49.2/22.3/11.9/6.6 (BP=1.000, ratio=1.025, hyp_len=43965, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 16.92, 49.4/22.1/11.7/6.4 (BP=1.000, ratio=1.013, hyp_len=43453, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.20, 49.2/22.1/11.9/6.8 (BP=1.000, ratio=1.016, hyp_len=43578, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 8.17, 33.9/11.6/5.0/2.3 (BP=1.000, ratio=1.207, hyp_len=51768, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.31, 49.2/22.2/12.0/6.8 (BP=1.000, ratio=1.017, hyp_len=43642, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.57, 49.5/22.5/12.3/7.0 (BP=1.000, ratio=1.000, hyp_len=42900, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.68, 49.6/22.6/12.3/7.1 (BP=1.000, ratio=1.013, hyp_len=43465, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.02, 48.3/21.9/11.8/6.7 (BP=1.000, ratio=1.044, hyp_len=44801, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.51, 49.7/22.7/12.2/6.9 (BP=1.000, ratio=1.011, hyp_len=43368, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.68, 50.3/22.9/12.4/7.0 (BP=0.995, ratio=0.995, hyp_len=42702, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.43, 49.0/22.4/12.2/6.9 (BP=1.000, ratio=1.040, hyp_len=44629, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.16, 49.2/22.2/11.9/6.7 (BP=1.000, ratio=1.028, hyp_len=44085, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.04, 49.1/22.2/11.8/6.6 (BP=1.000, ratio=1.030, hyp_len=44200, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.77, 49.8/22.8/12.4/7.1 (BP=1.000, ratio=1.008, hyp_len=43258, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 8.55, 32.5/11.9/5.3/2.6 (BP=1.000, ratio=1.341, hyp_len=57542, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.96, 50.0/23.0/12.6/7.2 (BP=1.000, ratio=1.002, hyp_len=43009, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.66, 49.6/22.6/12.3/7.0 (BP=1.000, ratio=1.019, hyp_len=43697, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.93, 49.8/23.1/12.6/7.2 (BP=1.000, ratio=1.021, hyp_len=43824, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 16.55, 47.0/21.3/11.5/6.5 (BP=1.000, ratio=1.071, hyp_len=45947, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.59, 49.8/22.7/12.2/6.9 (BP=1.000, ratio=1.009, hyp_len=43301, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.41, 49.2/22.5/12.1/6.9 (BP=1.000, ratio=1.023, hyp_len=43894, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.52, 49.9/22.7/12.2/6.8 (BP=1.000, ratio=1.005, hyp_len=43127, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.30, 49.1/22.3/12.0/6.8 (BP=1.000, ratio=1.024, hyp_len=43917, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.21, 48.8/22.1/12.0/6.8 (BP=1.000, ratio=1.036, hyp_len=44454, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.79, 50.0/22.9/12.4/7.1 (BP=1.000, ratio=1.000, hyp_len=42891, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 11.03, 39.5/15.1/7.1/3.5 (BP=1.000, ratio=1.116, hyp_len=47860, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.25, 49.4/22.3/12.0/6.7 (BP=1.000, ratio=1.014, hyp_len=43517, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.78, 50.0/22.8/12.4/7.1 (BP=1.000, ratio=1.000, hyp_len=42890, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.68, 49.8/22.7/12.4/7.0 (BP=1.000, ratio=1.003, hyp_len=43021, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.31, 48.9/22.3/12.1/6.8 (BP=1.000, ratio=1.032, hyp_len=44262, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.92, 49.8/22.9/12.5/7.2 (BP=1.000, ratio=1.015, hyp_len=43562, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.84, 50.0/22.9/12.5/7.1 (BP=1.000, ratio=1.011, hyp_len=43389, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.75, 49.8/22.8/12.4/7.1 (BP=1.000, ratio=1.014, hyp_len=43494, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.94, 50.0/23.1/12.6/7.1 (BP=1.000, ratio=1.013, hyp_len=43442, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 18.12, 50.3/23.1/12.7/7.3 (BP=1.000, ratio=1.004, hyp_len=43077, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.29, 48.8/22.3/12.1/6.8 (BP=1.000, ratio=1.042, hyp_len=44688, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 11.92, 40.2/16.1/7.8/4.0 (BP=1.000, ratio=1.144, hyp_len=49071, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.46, 49.5/22.5/12.2/6.8 (BP=1.000, ratio=1.026, hyp_len=44035, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 18.19, 50.3/23.2/12.7/7.4 (BP=1.000, ratio=1.007, hyp_len=43221, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 17.84, 50.1/22.9/12.5/7.1 (BP=1.000, ratio=1.016, hyp_len=43604, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 18.30, 50.8/23.4/12.9/7.5 (BP=0.994, ratio=0.994, hyp_len=42632, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 0, 0/0/0/0 (BP=0, ratio=0, hyp_len=0, ref_len=0)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 12.77, 42.4/17.1/8.4/4.4 (BP=1.000, ratio=1.096, hyp_len=47008, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 14.43, 46.7/19.4/9.7/5.2 (BP=0.988, ratio=0.988, hyp_len=42376, ref_len=42903)
|
|
@ -1 +0,0 @@
|
|||||||
BLEU = 13.85, 44.1/18.5/9.2/4.9 (BP=1.000, ratio=1.092, hyp_len=46859, ref_len=42903)
|
|
@ -1,662 +0,0 @@
|
|||||||
{
|
|
||||||
"cells": [
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": true,
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"# Wprowadzenie do Pythona: Klasy\n",
|
|
||||||
"\n",
|
|
||||||
"## Tomasz Dwojak\n",
|
|
||||||
"\n",
|
|
||||||
"### 3 grudnia 2017"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"# Plan na dziś:\n",
|
|
||||||
" * klasy,\n",
|
|
||||||
" * wyjątki."
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"## Python jest językiem obiektowym \n",
|
|
||||||
" * Wszystko jest obiektem: liczby, napisy, None, funkcje, moduły (biblioteki)..."
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 11,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "fragment"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"0\n",
|
|
||||||
"Python da się lubić !\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"print((2017).imag)\n",
|
|
||||||
"print(' '.join(['Python', 'da', 'się', 'lubić', '!']))"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"## Konstrukcja"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 18,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "fragment"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"<class '__main__.NajprostszaKlasa'>\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"class NajprostszaKlasa:\n",
|
|
||||||
" pass\n",
|
|
||||||
"\n",
|
|
||||||
"nasza_klasa = NajprostszaKlasa() # Uwaga na nawiasy na końcu!\n",
|
|
||||||
"print(type(nasza_klasa))"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"## (Pseudo) Konstruktor \n",
|
|
||||||
"\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 30,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "fragment"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"2\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"class Punkt:\n",
|
|
||||||
" def __init__(self, x, y):\n",
|
|
||||||
" self.x = x\n",
|
|
||||||
" self.y = y\n",
|
|
||||||
"\n",
|
|
||||||
"punkt = Punkt(2, 3)\n",
|
|
||||||
"print(punkt.x)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 25,
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": true,
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"class Figura:\n",
|
|
||||||
" def __init__(self, vertexes):\n",
|
|
||||||
" self.vertexes = vertexes\n",
|
|
||||||
" \n",
|
|
||||||
" def liczba_wierzcholkow(self):\n",
|
|
||||||
" return len(self.vertexes)\n",
|
|
||||||
" \n",
|
|
||||||
" def dodaj_wierzcholek(self, x):\n",
|
|
||||||
" self.vertexes.append(x)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 26,
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": true,
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"class Prostokat(Figura):\n",
|
|
||||||
" def __init__(self, vertexes):\n",
|
|
||||||
" super().__init__(vertexes)\n",
|
|
||||||
" \n",
|
|
||||||
" def czy_jestem_kwadratem(self):\n",
|
|
||||||
" pass\n",
|
|
||||||
" "
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 28,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"text/plain": [
|
|
||||||
"3"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"execution_count": 28,
|
|
||||||
"metadata": {},
|
|
||||||
"output_type": "execute_result"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"class Figura:\n",
|
|
||||||
" def __init__(self, vertexes):\n",
|
|
||||||
" self.vertexes = vertexes\n",
|
|
||||||
" \n",
|
|
||||||
" def liczba_wierzcholkow(self):\n",
|
|
||||||
" return len(self.vertexes)\n",
|
|
||||||
" \n",
|
|
||||||
" def __len__(self):\n",
|
|
||||||
" return self.liczba_wierzcholkow()\n",
|
|
||||||
" \n",
|
|
||||||
"len(Figura([Punkt(2,3), Punkt(3,4), Punkt(0, 0)]))"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"## Dobre praktyki: komentarze"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 4,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "fragment"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"class Punkt(object):\n",
|
|
||||||
" \"\"\"Klasa reprezentująca punkt w 2D.\"\"\"\n",
|
|
||||||
" def __init__(self, x, y):\n",
|
|
||||||
" \"\"\"opis argumentów x i y.\"\"\"\n",
|
|
||||||
" self.x = x\n",
|
|
||||||
" self.y = y"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 5,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Help on class Punkt in module __main__:\n",
|
|
||||||
"\n",
|
|
||||||
"class Punkt(builtins.object)\n",
|
|
||||||
" | Klasa reprezentująca punkt w 2D.\n",
|
|
||||||
" | \n",
|
|
||||||
" | Methods defined here:\n",
|
|
||||||
" | \n",
|
|
||||||
" | __init__(self, x, y)\n",
|
|
||||||
" | opis argumentów x i y.\n",
|
|
||||||
" | \n",
|
|
||||||
" | ----------------------------------------------------------------------\n",
|
|
||||||
" | Data descriptors defined here:\n",
|
|
||||||
" | \n",
|
|
||||||
" | __dict__\n",
|
|
||||||
" | dictionary for instance variables (if defined)\n",
|
|
||||||
" | \n",
|
|
||||||
" | __weakref__\n",
|
|
||||||
" | list of weak references to the object (if defined)\n",
|
|
||||||
"\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"help(Punkt)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"## Enkapsulacja: publiczne czy prywatne?\n",
|
|
||||||
" * Prywatne zaczynają się od dwóch podkreśleń: ``__``, np. ``def __policz(self)``\n",
|
|
||||||
" * chronione tylko w konwencji, zaczynają się od '\\_', np. ``def _parse(self)``\n",
|
|
||||||
" * publiczne jest wszystko co nie zaczyna się od '\\_'."
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 6,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"ename": "AttributeError",
|
|
||||||
"evalue": "'Parser' object has no attribute '__parse'",
|
|
||||||
"output_type": "error",
|
|
||||||
"traceback": [
|
|
||||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
|
||||||
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
|
|
||||||
"\u001b[0;32m<ipython-input-6-80ee186598d3>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mparser\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mParser\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mparser\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mparser\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__parse\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
|
|
||||||
"\u001b[0;31mAttributeError\u001b[0m: 'Parser' object has no attribute '__parse'"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"class Parser(object):\n",
|
|
||||||
" def __parse(self): pass\n",
|
|
||||||
" def _get(self): pass\n",
|
|
||||||
"parser = Parser()\n",
|
|
||||||
"parser._get()\n",
|
|
||||||
"parser.__parse()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"## Iteratory"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 7,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "fragment"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"<__main__.Punkt object at 0x7f728015b358>\n",
|
|
||||||
"<__main__.Punkt object at 0x7f728015b4a8>\n",
|
|
||||||
"<__main__.Punkt object at 0x7f728015b438>\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"class Figura:\n",
|
|
||||||
" def __init__(self, vertexes):\n",
|
|
||||||
" self.vertexes = vertexes \n",
|
|
||||||
" \n",
|
|
||||||
" def __iter__(self):\n",
|
|
||||||
" self.index = -1\n",
|
|
||||||
" return self\n",
|
|
||||||
" \n",
|
|
||||||
" def __next__(self):\n",
|
|
||||||
" self.index += 1\n",
|
|
||||||
" if self.index == len(self.vertexes):\n",
|
|
||||||
" raise StopIteration\n",
|
|
||||||
" return self.vertexes[self.index]\n",
|
|
||||||
" \n",
|
|
||||||
"for v in Figura([Punkt(2,3), Punkt(3,4), Punkt(0, 0)]):\n",
|
|
||||||
" print(v)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": true,
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"## Atrybuty i metody statyczne"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 16,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "fragment"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"0\n",
|
|
||||||
"0\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"class Klasa:\n",
|
|
||||||
" atrybut = 0\n",
|
|
||||||
"\n",
|
|
||||||
"klasa = Klasa()\n",
|
|
||||||
"print(Klasa.atrybut)\n",
|
|
||||||
"print(klasa.atrybut)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 19,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Jestem statyczna!\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"class Klasa:\n",
|
|
||||||
" def __init__(self):\n",
|
|
||||||
" self.t = 0\n",
|
|
||||||
" def metoda():\n",
|
|
||||||
" print(\"Jestem statyczna!\")\n",
|
|
||||||
"\n",
|
|
||||||
"Klasa.metoda()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"## Wyjątki"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 20,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "fragment"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"ename": "FileNotFoundError",
|
|
||||||
"evalue": "[Errno 2] No such file or directory: 'nieistniejący_plik.txt'",
|
|
||||||
"output_type": "error",
|
|
||||||
"traceback": [
|
|
||||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
|
||||||
"\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
|
|
||||||
"\u001b[0;32m<ipython-input-20-41928d542bef>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"nieistniejący_plik.txt\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mplik\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mplik\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
|
|
||||||
"\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'nieistniejący_plik.txt'"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"with open(\"nieistniejący_plik.txt\") as plik:\n",
|
|
||||||
" content = plik.read()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 23,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"try:\n",
|
|
||||||
" with open(\"nieistniejący_plik.txt\") as plik:\n",
|
|
||||||
" content = plik.read()\n",
|
|
||||||
"except FileNotFoundError:\n",
|
|
||||||
" contenct = \"\""
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 27,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Warning [Errno 2] No such file or directory: 'nieistniejący_plik.txt'\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"try:\n",
|
|
||||||
" with open(\"nieistniejący_plik.txt\") as plik:\n",
|
|
||||||
" content = plik.read()\n",
|
|
||||||
"except FileNotFoundError as e:\n",
|
|
||||||
" print(\"Warning {}\".format(e))\n",
|
|
||||||
" contenct = \"\""
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 28,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Warning [Errno 2] No such file or directory: 'nieistniejący_plik.txt'\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"try:\n",
|
|
||||||
" with open(\"nieistniejący_plik.txt\") as plik:\n",
|
|
||||||
" content = plik.read()\n",
|
|
||||||
"except Exception as e:\n",
|
|
||||||
" print(\"Warning {}\".format(e))\n",
|
|
||||||
" contenct = \"\""
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 29,
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": true,
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"try:\n",
|
|
||||||
" with open(\"nieistniejący_plik.txt\") as plik:\n",
|
|
||||||
" content = plik.read()\n",
|
|
||||||
"except:\n",
|
|
||||||
" contenct = \"\""
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 30,
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": true,
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"class Figura:\n",
|
|
||||||
" def __init__(self, vertexes):\n",
|
|
||||||
" if len(vertexes) == 0:\n",
|
|
||||||
" raise Exception(\"Empty list of vertexes\")\n",
|
|
||||||
" self.vertexes = vertexes"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 35,
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": true,
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"class MyError(Exception):\n",
|
|
||||||
" def __init__(self, text):\n",
|
|
||||||
" self.text = text\n",
|
|
||||||
" def __str__(self):\n",
|
|
||||||
" return self.text"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 36,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "fragment"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"ename": "MyError",
|
|
||||||
"evalue": "Coś poszło nie tak!",
|
|
||||||
"output_type": "error",
|
|
||||||
"traceback": [
|
|
||||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
|
||||||
"\u001b[0;31mMyError\u001b[0m Traceback (most recent call last)",
|
|
||||||
"\u001b[0;32m<ipython-input-36-4fb306b42ebc>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mMyError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Coś poszło nie tak!\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
|
|
||||||
"\u001b[0;31mMyError\u001b[0m: Coś poszło nie tak!"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"raise MyError(\"Coś poszło nie tak!\")"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": true
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": []
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"metadata": {
|
|
||||||
"celltoolbar": "Slideshow",
|
|
||||||
"kernelspec": {
|
|
||||||
"display_name": "Python 3",
|
|
||||||
"language": "python",
|
|
||||||
"name": "python3"
|
|
||||||
},
|
|
||||||
"language_info": {
|
|
||||||
"codemirror_mode": {
|
|
||||||
"name": "ipython",
|
|
||||||
"version": 3
|
|
||||||
},
|
|
||||||
"file_extension": ".py",
|
|
||||||
"mimetype": "text/x-python",
|
|
||||||
"name": "python",
|
|
||||||
"nbconvert_exporter": "python",
|
|
||||||
"pygments_lexer": "ipython3",
|
|
||||||
"version": "3.6.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nbformat": 4,
|
|
||||||
"nbformat_minor": 2
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
**ćwiczenie 1**
|
|
||||||
Napisz funckję ``is_numeric``, która sprawdzi, czy każdy element z przekazanej listy jest typu int lub float. Wykorzystaj funcję ``isinstance()`` (https://docs.python.org/2/library/functions.html#isinstance).
|
|
||||||
|
|
||||||
**ćwiczenie 2**
|
|
||||||
Napisz prostą hierarchię klas:
|
|
||||||
* Klasa bazowa ``Employee``, która będzie zawierać informacje o imieniu i nazwisku pracownika. Ponadto każdy pracownik otrzyma numer ``id``, który będzie unikatowy. Wykorzystaj do tego atrybut statyczny. Napisz metodę ``get_id``, która zwraca identyfikator pracownika.
|
|
||||||
* Klasy pochodna: ``Recruiter``, która ma dodatkową mtodę ``recruit``, która jako parament przyjmuje obiekt ``Employee`` i zapisuje jego ``id`` w liście ``self.recruited``.
|
|
||||||
* Klasa pochodna ``Programmer``. Klasa ``Programmer`` ma przyjąć w konstruktorze podstawowe informacje (imię i nazwisko) oraz obiekt rekturera. Ponadto stwórz atrybut ``recruiter``, który będzie przechowywać ``id`` rekrutera.
|
|
||||||
|
|
||||||
**ćwiczenie 3 (zadanie domowe) **
|
|
||||||
Stwórz klasę ``Point``, która będzie reprezentować punkt w przestrzeni wielowymiarowej:
|
|
||||||
* Konstruktor ma przyjąc tylko 1 parametr: listę współrzednych. Wykorzystaj funkcję z pierwszego zadania, żeby sprawdzić, czy lista zawiera wyłącznie liczby.
|
|
||||||
* Napisz metodę add, która dida dwa punkty po współrzędnych i zwróci obiekt typu ``Punkt``. Zaimplementuj własny wyjątek ``DimensionError``, który zostaje wyrzucony, jeżeli dodawany punkt ma inny wymiar.
|
|
||||||
* Napisz metodę ``to\_string``, która zwróci łancuch znakowy, który w czytelny sposób przedstawi punkt.
|
|
||||||
* Napisz metodę __len__, która zwróci liczbę współrzędnych punktu. Zobacz, czy możesz teraz wywołać funkcję len na obiekcie typy punkt.
|
|
||||||
* Napisz metodę __str__, która bedzie działać dokładnie tak samo jak metoda ``to_string``. Wyświetl obiekt typy Point korzystając z funkcji print.
|
|
||||||
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/env python2
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/env python2
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/env python2
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
@ -1,297 +0,0 @@
|
|||||||
{
|
|
||||||
"cells": [
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"# Python: część 3\n",
|
|
||||||
"\n",
|
|
||||||
"## Tomasz Dwojak\n",
|
|
||||||
"\n",
|
|
||||||
"### 16 grudnia 2017"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"## Co już było?\n",
|
|
||||||
" * podstawowe typy i struktury danych\n",
|
|
||||||
" * funkcje\n",
|
|
||||||
" * biblioteki\n",
|
|
||||||
" * klasy\n",
|
|
||||||
" * praca z plikami\n",
|
|
||||||
" * wyjątki"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"# Co na dziś?\n",
|
|
||||||
" * Dzielenie kodu na pliki\n",
|
|
||||||
" * Podstawy analizy danych: Pandas"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"## Dzielenie kodu\n",
|
|
||||||
"\n",
|
|
||||||
" * Zwiększenie jakości kodu\n",
|
|
||||||
" * Napisz raz i korzystaj w wielu sytuacjach\n",
|
|
||||||
" * Tworzenie własnej biblioteki"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"## Dzielenie kodu - podsumowanie\n",
|
|
||||||
" * import\n",
|
|
||||||
" * ``if __name__ == '__main__'``\n",
|
|
||||||
" * Pakiety i pliki ``__init__.py``\n",
|
|
||||||
" * zmienna PYTHONPATH i ``sys.path``"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"# Interpreter Pythona"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"# Jupyter notebook"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"## Argumenty do programu\n",
|
|
||||||
"\n",
|
|
||||||
" * czy potrzebujemy pyCharm żeby uruchomić prosty skrypt?"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"### sys.argv\n",
|
|
||||||
" * zawiera liste wszystkich argumentów\n",
|
|
||||||
" * pierwszy element zawiera nazwe pliku"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 5,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "fragment"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"['/usr/lib/python2.7/site-packages/ipykernel/__main__.py', '-f', '/run/user/1000/jupyter/kernel-7efdb6ca-75d5-474e-90c4-fda3dadc3282.json']\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"import sys\n",
|
|
||||||
"print(sys.argv)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "markdown",
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source": [
|
|
||||||
"### Biblioteka argparse"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "fragment"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"import argparse\n",
|
|
||||||
"parser = argparse.ArgumentParser()\n",
|
|
||||||
"parser.parse_args()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"metadata": {
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"parser = argparse.ArgumentParser()\n",
|
|
||||||
"parser.add_argument(\"number\", help=\"Opis\")\n",
|
|
||||||
"args = parser.parse_args()\n",
|
|
||||||
"print(args.number)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": true,
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"parser = argparse.ArgumentParser()\n",
|
|
||||||
"parser.add_argument(\"number\", help=\"Opis\", nargs=\"+\")\n",
|
|
||||||
"args = parser.parse_args()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": true,
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"parser = argparse.ArgumentParser()\n",
|
|
||||||
"parser.add_argument(\"--verbosity\", help=\"increase output verbosity\")\n",
|
|
||||||
"args = parser.parse_args()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": true,
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"parser = argparse.ArgumentParser()\n",
|
|
||||||
"parser.add_argument(\"--verbose\", help=\"increase output verbosity\",\n",
|
|
||||||
" action=\"store_true\")\n",
|
|
||||||
"args = parser.parse_args()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": true,
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"parser = argparse.ArgumentParser()\n",
|
|
||||||
"parser.add_argument(\"-v\", \"--verbose\", help=\"increase output verbosity\",\n",
|
|
||||||
" action=\"store_true\")\n",
|
|
||||||
"args = parser.parse_args()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"metadata": {
|
|
||||||
"collapsed": true,
|
|
||||||
"slideshow": {
|
|
||||||
"slide_type": "slide"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"parser = argparse.ArgumentParser()\n",
|
|
||||||
"parser.add_argument(\"-v\", \"--verbose\", help=\"increase output verbosity\",\n",
|
|
||||||
" action=\"store_true\")\n",
|
|
||||||
"parser.add_argument(\"number\", help=\"Opis\", nargs=\"+\")\n",
|
|
||||||
"args = parser.parse_args()"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"metadata": {
|
|
||||||
"celltoolbar": "Slideshow",
|
|
||||||
"kernelspec": {
|
|
||||||
"display_name": "Python 2",
|
|
||||||
"language": "python2",
|
|
||||||
"name": "python2"
|
|
||||||
},
|
|
||||||
"language_info": {
|
|
||||||
"codemirror_mode": {
|
|
||||||
"name": "ipython",
|
|
||||||
"version": 2
|
|
||||||
},
|
|
||||||
"file_extension": ".py",
|
|
||||||
"mimetype": "text/x-python",
|
|
||||||
"name": "python",
|
|
||||||
"nbconvert_exporter": "python",
|
|
||||||
"pygments_lexer": "ipython2",
|
|
||||||
"version": "2.7.14"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nbformat": 4,
|
|
||||||
"nbformat_minor": 2
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
** zad. 0 **
|
|
||||||
Napisz funkcję ``suma``, która przyjmnie jeden argument: listę liczb i zwróci ich sumę.
|
|
||||||
|
|
||||||
** zad. 1 **
|
|
||||||
Zaimportuj z zadania 0 fukcje ``suma``. Korzystając z tej fukcji i tablicy ``sys.argv`` oblicz i wyświetl sumę argumentów, jakie zostały przekazane do proramu. Załóź, że argumentami do programu będą tylko liczby zmiennoprzecinkowe.
|
|
||||||
|
|
||||||
** zad. 2 **
|
|
||||||
Uodpornoj program z zad. 1 w następujący sposób: do programu mogą zostać przekazane argumenty, które nie mają wartości liczbowej (przyjmijmy, że ich wartość to 0). Skorzystaj z mechanizmu wyjątków: złap wyjątek, jeżeli argumenty nie da się skonwertować na liczbę zmiennoprzecinkową.
|
|
||||||
|
|
||||||
** zad. 3 **
|
|
||||||
Przekształć rozwiązanie zadania drugiego w taki sposob, żeby korzystało z biblioteki ``argparse`` zamiast z z listy ``sys.argv``.
|
|
||||||
|
|
||||||
** zad. 4 (Domowe) **
|
|
||||||
Plik ``task04.py`` zawiera kod prorgamu, który działa jak popularne narzędzie unixowe ``wc`` (Word Counter): zlicza liczbę linii, wyrazów i znaków. Aktualnie program potrafi działać wyłącznie na wejściu podanym z klawiatury. Dodaj do niego opcje programu:
|
|
||||||
* domyślnie program ma zliczać na wejściu z klawiatury (stdin) i wyświetlać wszystkie 3 liczby.
|
|
||||||
* Jeżeli został podany przełącznik `-l`, to to ma zostać zwrócona tylko liczba linii.
|
|
||||||
* Jeżeli został podany przełącznik `-w`, to to ma zostać zwrócona tylko liczba słów.
|
|
||||||
* Jeżeli został podany przełącznik `-c`, to to ma zostać zwrócona tylko liczba znaków.
|
|
||||||
* Jeżeli został podany inny argument, to należy założyć że jest to nazwa pliku i potraktować ten plik jako wejście do programu.
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
|||||||
import argparse
|
|
||||||
|
|
||||||
parser = argparse.ArgumentParser()
|
|
||||||
parser.parse_args()
|
|
||||||
|
|
||||||
# parser = argparse.ArgumentParser()
|
|
||||||
# parser.add_argument("number", help="Opis")
|
|
||||||
# args = parser.parse_args()
|
|
||||||
|
|
||||||
# parser = argparse.ArgumentParser()
|
|
||||||
# parser.add_argument("number", help="Opis", nargs="+")
|
|
||||||
# args = parser.parse_args()
|
|
||||||
|
|
||||||
# parser = argparse.ArgumentParser()
|
|
||||||
# parser.add_argument("--verbosity", help="increase output verbosity")
|
|
||||||
# args = parser.parse_args()
|
|
||||||
|
|
||||||
|
|
||||||
# parser = argparse.ArgumentParser()
|
|
||||||
# parser.add_argument("--verbose", help="increase output verbosity",
|
|
||||||
# action="store_true")
|
|
||||||
# args = parser.parse_args()
|
|
||||||
|
|
||||||
|
|
||||||
# parser = argparse.ArgumentParser()
|
|
||||||
# parser.add_argument("-v", "--verbose", help="increase output verbosity",
|
|
||||||
# action="store_true")
|
|
||||||
# parser.add_argument("number", help="Opis", nargs="+")
|
|
||||||
# args = parser.parse_args()
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
def greetings():
|
|
||||||
print("Pozdrowienia!!!")
|
|
||||||
|
|
||||||
print("SPAM " * 6)
|
|
||||||
print(__name__)
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
print("Jestem głównym plikiem!")
|
|
@ -1,18 +0,0 @@
|
|||||||
#!/usr/bin/env python2
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
import lib
|
|
||||||
import tools.fib
|
|
||||||
|
|
||||||
import sys
|
|
||||||
|
|
||||||
# sys.path.append("..")
|
|
||||||
# import labs02.task01
|
|
||||||
|
|
||||||
def main():
|
|
||||||
print("Hello World")
|
|
||||||
lib.greetings()
|
|
||||||
print(tools.fib.non_reccurent_fibonacci(50))
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/usr/bin/env python2
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
def suma(liczby):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def main():
|
|
||||||
print(summa([1, 2, 3, 4]))
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user