1
0
forked from tdwojak/Python2017

Compare commits

..

11 Commits

Author SHA1 Message Date
a0fecba5c4 Final updates 2018-01-29 12:22:18 +01:00
26afa652a5 update 2018-01-24 10:26:29 +01:00
f61d161938 update results 2018-01-23 22:34:37 +01:00
5d25e165c4 Update 45163 2018-01-23 22:05:16 +01:00
dc5fb3f34b Add marks 2018-01-23 17:19:50 +01:00
fd67d4b96f Add task06 2018-01-23 16:54:47 +01:00
1599eb71ba update szwedek 2018-01-22 15:42:47 +01:00
524eefe436 Update scores for 45161 2018-01-19 08:50:18 +01:00
7ef244fb88 Fix socres for 147 2018-01-18 17:41:40 +01:00
d8025c91ff Add missed results 2018-01-15 11:11:11 +01:00
378fee7582 Update results 2018-01-11 13:41:08 +01:00
19 changed files with 82 additions and 276 deletions

View File

@ -1,24 +1,38 @@
ID | labs02:task07 | labs02:task08 | labs02:task09 | labs02:task10 | labs02:task11
---------|-----------------|-----------------|-----------------|-----------------|---------------
s45168 | 0 | 0 | 0 | 0 | 0
s45162 | 1 | 1 | 1 | 1 | 1
s45158 | 1 | 1 | 0 | 0 | 1
szwedek | 1 | 1 | 1 | 1 | 1
s45155 | 1 | 1 | 1 | 1 | 1
s45152 | 1 | 1 | 1 | 0 | 1
s45148 | 1 | 1 | 1 | 1 | 1
s45166 | 1 | 1 | 1 | 1 | 1
s45151 | 1 | 1 | 1 | 1 | 1
s45146 | 1 | 1 | 1 | 1 | 1
s45150 | 1 | 1 | 1 | 1 | 1
s45452 | 1 | 1 | 1 | 1 | 1
s45165 | 1 | 1 | 1 | 1 | 1
s45160 | 1 | 1 | 1 | 1 | 1
s45153 | 0 | 0 | 0 | 0 | 0
s45156 | 1 | 1 | 1 | 1 | 1
s45157 | 0 | 0 | 1 | 1 | 1
s45167 | 1 | 1 | 1 | 1 | 1
s45147 | 1 | 0 | 0 | 1 | 0
s45159 | 0 | 0 | 0 | 0 | 0
s45161 | 1 | 1 | 1 | 1 | 1
s45164 | 1 | 1 | 0 | 1 | 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

View File

@ -7,7 +7,8 @@ która zawiera tylko elementy z list o parzystych indeksach.
"""
def even_elements(lista):
return lista[::2]
pass
def tests(f):
inputs = [[[1, 2, 3, 4, 5, 6]], [[]], [[41]]]
@ -22,4 +23,3 @@ def tests(f):
if __name__ == "__main__":
print(tests(even_elements))

View File

@ -5,19 +5,8 @@
Napisz funkcję days_in_year zwracającą liczbę dni w roku (365 albo 366).
"""
def days_in_year(year):
if year % 400 == 0:
return 366
elif year % 100 == 0:
return 365
elif year % 4 == 0:
return 366
else:
return 365
def days_in_year(days):
pass
def tests(f):
inputs = [[2015], [2012], [1900], [2400], [1977]]
@ -31,5 +20,3 @@ def tests(f):
if __name__ == "__main__":
print(tests(days_in_year))

View File

@ -13,11 +13,7 @@ jak 'set', która przechowuje elementy bez powtórzeń.)
def oov(text, vocab):
text = text.split()
result = [char for char in text if char not in vocab]
result = sorted(set(result))
return result
pass

View File

@ -7,10 +7,7 @@ Jeśli podany argument jest mniejszy od 1 powinna być zwracana wartość 0.
"""
def sum_from_one_to_n(n):
if n < 1 :
return 0
else:
return sum(range(n+1))
pass
def tests(f):

View File

@ -10,8 +10,7 @@ np. odległość pomiędzy punktami (0, 0, 0) i (3, 4, 0) jest równa 5.
"""
def euclidean_distance(x, y):
return sum([(x-y)**2 for (x,y) in zip(x,y)])**(0.5)
pass
def tests(f):
inputs = [[(2.3, 4.3, -7.5), (2.3, 8.5, -7.5)]]

View File

@ -10,10 +10,7 @@ ma być zwracany napis "It's not a Big 'No!'".
"""
def big_no(n):
if n >= 5:
return "N"+ n*"O"+"!"
else:
return "It's not a Big 'No!'"
pass
def tests(f):
inputs = [[5], [6], [2]]

View File

@ -6,7 +6,7 @@ Napisz funkcję char_sum, która dla zadanego łańcucha zwraca
sumę kodów ASCII znaków.
"""
def char_sum(text):
return sum([ord(x) for x in text]) # int nie dziala
pass
def tests(f):
inputs = [["this is a string"], ["this is another string"]]

View File

@ -7,9 +7,7 @@ przez 3 lub 5 mniejszych niż n.
"""
def sum_div35(n):
x = 0
return sum(x for x in range(0,n) if x % 3 == 0 or x % 5 == 0)
pass
def tests(f):
inputs = [[10], [100], [3845]]

View File

@ -9,15 +9,7 @@ Np. leet('leet') powinno zwrócić '1337'.
def leet_speak(text):
change = [
('e', '3'),
('l', '1'),
('o', '0'),
('t', '7')
]
for x, y in change:
text = text.replace(x,y)
return text
pass
def tests(f):

View File

@ -9,12 +9,7 @@ na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'.
def pokemon_speak(text):
text = list(text)
for x in range(0, len(text),2):
text[x] = text[x].upper()
x = ''.join(text)
return x
pass
def tests(f):

View File

@ -9,12 +9,7 @@ Oba napisy będą składać się wyłacznie z małych liter.
"""
def common_chars(string1, string2):
string1 = string1.replace(' ','')
string2 = string2.replace(' ','')
wynik = list(sorted(set([char for char in string1 if char in string2])))
return wynik
pass
def tests(f):

View File

@ -1,7 +0,0 @@
def f(n):
a,b = 1,1
for i in range(n-1):
a,b = b,a+b
return a
print(f(55))

View File

@ -1,16 +0,0 @@
import glob
path = 'scores/model.iter*.npz.bleu'
for file in glob.glob(path):
with open(file, 'r') as f:
for line in f.readlines():
num = float(line[line.find("=") + 1:line.find(",")])
if num > 0:
max_num = num
max_num_file = file
f.close()
print(max_num_file)

View File

@ -309,13 +309,13 @@
{
"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'"
],
"output_type": "error"
]
}
],
"source": [
@ -465,13 +465,13 @@
{
"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'"
],
"output_type": "error"
]
}
],
"source": [
@ -614,13 +614,13 @@
{
"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!"
],
"output_type": "error"
]
}
],
"source": [

View File

@ -1,21 +1,3 @@
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
#ćwiczenie 1**
def is_numeric(x):
if isinstance(x, (int,float)):
print('Int')
elif isinstance(x, float):
print('Float')
else:
print('Not numeric')
list = [1,4,5]
is_numeric(list)
#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).

View File

@ -1,50 +1,3 @@
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
#**ć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.
class Employee():
id=0
def __init__(self, firstname, surname):
self.id = Employee.id
self.firstname = firstname
self.surname = surname
Employee.id = Employee.id + 1
def get_id(self):
return self.id
class Recruiter(Employee):
def __init__(self,firstname,surname):
super().__init__(firstname,surname)
self.recruited=[]
def recruite(self,Employee):
self.recruited.append(Employee.get_id())
class Programmer(Employee):
def __init__(self,firstname,surname,Recruiter):
super().__init__(firstname,surname)
self.recruiter = Recruiter.get_id()
E1 = Employee('Karol', 'Kapusta')
E2 = Employee('Jola', 'Kalafior')
print('Employee1', E1.firstname, E1.surname)
print('Employee2', E2.firstname, E2.surname)
R = Recruiter('John','Szef')
print('Recruiter',R.firstname, R.surname)
P = Programmer('Ali','Baba', R)
print('Programmer',P.firstname, P.surname)
R.recruite(E1)
print(R.recruited)

View File

@ -1,58 +1,3 @@
#ć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 doda 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.
#funkcja z pierwszego zadania, żeby sprawdzić, czy lista zawiera wyłącznie liczby
def is_numeric(list):
for i in list:
if (isinstance(i, (int, float)) == True):
return True
else:
return False
# wyjątek DimensionError, który zostaje wyrzucony, jeżeli dodawany punkt ma inny wymiar
class DimensionError(Exception):
def __init__(self, text):
self.text = text
# klasa
class Point:
def __init__(self, coordinates):
if len(coordinates) != 3:
raise DimensionError('Wrong coordinates')
else:
self.coordinates = coordinates
# funkcja add, która doda dwa punkty do współrzędnych i zwróci obiekt typu Punkt
def add(c1, c2):
coordinates = []
if len(c1) != len(c2):
for i in range(0, len(c1)):
coordinates.append(c1[i]+c2[i])
return coordinates
# funkcja to_string, która zwróci łancuch znakowy,
def to_string(self):
return '(' + ', '.join(map(str, self.coordinates)) + ')'
# funkcja str, która bedzie działać dokładnie tak samo jak metoda to_string
def __str__(self):
return self.to_string()
# metoda len, która zwróci liczbę współrzędnych punktu
def __len__(self):
return len(self.coordinates)
point = Point([1,5,6])
print(point.coordinates)
#!/usr/bin/env python2
# -*- coding: utf-8 -*-

View File

@ -1,21 +1,14 @@
import pandas as pd
import numpy as np
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def wczytaj_dane():
mieszkania = pd.read_csv('mieszkania.csv',
encoding='utf-8',
sep=',',
index_col='Id')
return pd.DataFrame(mieszkania)
pass
def most_common_room_number(dane):
most_common = dane['Rooms'].value_counts().head()
return most_common
pass
def cheapest_flats(dane, n):
cheapest = dane.sort_values('Expected').head(n)
return cheapest
pass
def find_borough(desc):
dzielnice = ['Stare Miasto',
@ -26,50 +19,36 @@ def find_borough(desc):
'Winogrady',
'Miłostowo',
'Dębiec']
for dzielnica in dzielnice:
if dzielnica in desc:
return dzielnica
return 'Inne'
pass
def add_borough(dane):
dane['Borough'] = dane['Location'].apply(find_borough)
return dane
pass
def write_plot(dane, filename):
data = add_borough(dane)
plot_data = data['Borough'].value_counts()
plot_data.plot( Kind = 'bar',title='Mieszkania z podziałem na dzielnice')
figure_data = plot_data.get_figure()
figure_data.savefig ( filename )
pass
def mean_price(dane, room_number):
rooms = dane[ dane['Rooms']==room_number]['Expected'].mean()
return rooms
pass
def find_13(dane):
floor_13 = dane[dane['Floor'] == 13]['Borough'].values
return floor_13
pass
def find_best_flats(dane):
best_flats = dane[(dane['Borough'] == 'Winogrady') & (dane['Rooms'] == 3) & (dane['Floor'] == 1)]
return best_flats
pass
def main():
dane = wczytaj_dane()
print(dane[:5])
print("Najpopularniejsza liczba pokoi w mieszkaniu to: {}".format ( most_common_room_number ( dane ) ))
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 mieszkania 3-pokojowego, to: {:.2f}".format ( mean_price ( dane , 3 ) ))
dane = add_borough(dane)
print("Dzielnice z ofertami na 13 pietrze: {}".format ( find_13 ( dane ) ))
print("Najlepsze oferty: {}".format ( find_best_flats ( dane ) ))
print("{} to najłądniejsza dzielnica w Poznaniu."
.format(find_borough("Grunwald i Jeżyce"))))
print("Średnia cena mieszkania 3-pokojowego, to: {}"
.format(mean_price(dane, 3)))
if __name__ == "__main__":
main()