Compare commits

..

21 Commits

Author SHA1 Message Date
dzastinn94
420ea2c62f dodaje zadania domowe 2018-06-20 19:44:03 +02:00
s407531
0b1808ca5a Merge remote-tracking branch 'origin/master' 2018-06-03 11:11:49 +02:00
s407531
398b0ba4c8 rozwiazanie zad labs 06 2018-06-03 11:11:17 +02:00
s407531
8403f21615 Merge branch 'master' of https://git.wmi.amu.edu.pl/tdwojak/Python2018 2018-06-03 10:00:04 +02:00
d612367edb Zadanie 5 2018-06-02 10:12:33 +00:00
58cef93540 zrobione zad 11 2018-05-31 19:08:51 +00:00
74f9c6a5e5 zrobione zad 10 2018-05-31 18:28:58 +00:00
655c576a5a zrobione zad 9 2018-05-31 17:59:29 +00:00
e02cffd230 zrobione 2018-05-23 17:41:45 +00:00
56c08684b9 zrobione 2018-05-23 17:41:29 +00:00
a4b330b3b0 jeszcze będe poprawiać 2018-05-22 19:09:50 +00:00
3672f3d65e Zaktualizuj 'labs02/task06.py'
dodaje
2018-05-22 18:40:20 +00:00
s407531
2ef1c48c97 rozwiazanie zad 2018-05-13 12:27:40 +02:00
s407531
6de4801254 rozwiazanie zad 2018-05-13 12:14:02 +02:00
s407531
3e75fff743 rozwiazanie dom 2018-05-13 10:08:22 +02:00
s407531
3445d715ab rozwiazanie dom 2018-05-13 10:07:40 +02:00
s407531
4d6c11789d rozwiazanie zad 2 2018-05-13 09:54:06 +02:00
s407531
46c569c67b rozwiazanie zad 2 2018-05-13 09:53:19 +02:00
s407531
f64e91b82f rozwiazanie zad 1 2018-05-13 09:30:38 +02:00
s407531
452f219f79 rozwiazanie zad 1 2018-05-13 09:14:05 +02:00
s407531
e016297618 rozwiazanie zad 1 2018-05-13 08:45:36 +02:00
21 changed files with 246 additions and 74 deletions

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -166,8 +166,9 @@ for i in range(5):# range[5] = [0,1,2,3,4]
# In[ ]: # In[ ]:
for zmienna in lista: for zmienna in oceny:
# operacje do wykonania w pętli # operacje do wykonania w pętli
pass
# In[ ]: # In[ ]:

View File

@ -9,48 +9,76 @@ Zadania wprowadzające do pierwszych ćwiczeń.
""" """
Wypisz na ekran swoje imię i nazwisko. Wypisz na ekran swoje imię i nazwisko.
""" """
print("Justyna Adamczyk")
""" """
Oblicz i wypisz na ekran pole koła o promienie 10. Jako PI przyjmij 3.14. Oblicz i wypisz na ekran pole koła o promienie 10. Jako PI przyjmij 3.14.
""" """
print(10 ** 2 * 3.14)
""" """
Stwórz zmienną pole_kwadratu i przypisz do liczbę: pole kwadratu o boku 3. Stwórz zmienną pole_kwadratu i przypisz do liczbę: pole kwadratu o boku 3.
""" """
pole_kwadratu=3**2
print(pole_kwadratu)
""" """
Stwórz 3 elementową listę, która zawiera nazwy 3 Twoich ulubionych owoców. Stwórz 3 elementową listę, która zawiera nazwy 3 Twoich ulubionych owoców.
Wynik przypisz do zmiennej `owoce`. Wynik przypisz do zmiennej `owoce`.
""" """
owoce=["truskwaki", "gruszka", "pigwa"]
print(owoce)
""" """
Dodaj do powyższej listy jako nowy element "pomidor". Dodaj do powyższej listy jako nowy element "pomidor".
""" """
owoce.append("pomidor")
print(owoce)
""" """
Usuń z powyższej listy drugi element. Usuń z powyższej listy drugi element.
""" """
owoce.pop(1)
print(owoce)
""" """
Rozszerz listę o tablice ['Jabłko', "Gruszka"]. Rozszerz listę o tablice ['Jabłko', "Gruszka"].
""" """
owoce.extend(['Jabłko', "Gruszka"])
print(owoce)
""" """
Wyświetl listę owoce, ale bez pierwszego i ostatniego elementu. Wyświetl listę owoce, ale bez pierwszego i ostatniego elementu.
""" """
print("bez pierwszego i ostatniego elementu:", owoce[1:-1])
""" """
Wyświetl co trzeci element z listy owoce. Wyświetl co trzeci element z listy owoce.
""" """
print("co trzeci:", owoce[::3])
""" """
Stwórz pusty słownik i przypisz go do zmiennej magazyn. Stwórz pusty słownik i przypisz go do zmiennej magazyn.
""" """
slownik = {}
magazyn=slownik
""" """
Dodaj do słownika magazyn owoce z listy owoce, tak, aby owoce były kluczami, Dodaj do słownika magazyn owoce z listy owoce, tak, aby owoce były kluczami,
zaś wartościami były równe 5. zaś wartościami były równe 5.
""" """
for i in owoce:
magazyn[i]=[5]
print(magazyn)

View File

@ -7,7 +7,9 @@ która zawiera tylko elementy z list o parzystych indeksach.
""" """
def even_elements(lista): def even_elements(lista):
pass
moja_lista = lista[::2]
return moja_lista
def tests(f): def tests(f):

View File

@ -6,7 +6,12 @@
""" """
def days_in_year(days): def days_in_year(days):
pass if ((days % 4) == 0 and ((days % 100) != 0)) or ((days % 400) == 0):
dni=366
else:
dni=365
return dni
def tests(f): def tests(f):
inputs = [[2015], [2012], [1900], [2400], [1977]] inputs = [[2015], [2012], [1900], [2400], [1977]]

View File

@ -11,9 +11,15 @@ litery. (OOV = out of vocabulary) (W pythonie istnieje struktura danych tak
jak 'set', która przechowuje elementy bez powtórzeń.) jak 'set', która przechowuje elementy bez powtórzeń.)
""" """
from sets import Set
def oov(text, vocab): def oov(text, vocab):
pass rozdzielenie=text.split(' ')
slowo=set()
slowo=(slowo for slowo in rozdzielenie if slowo not in vocab)
return slowo

View File

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

View File

@ -8,9 +8,17 @@ dwoma punktami przestrzeni trójwymiarowej. Punkty są dane jako
trzyelementowe listy liczb zmiennoprzecinkowych. trzyelementowe listy liczb zmiennoprzecinkowych.
np. odległość pomiędzy punktami (0, 0, 0) i (3, 4, 0) jest równa 5. np. odległość pomiędzy punktami (0, 0, 0) i (3, 4, 0) jest równa 5.
""" """
import cmath
def euclidean_distance(x, y): def euclidean_distance(x, y):
pass odleglosc=0
for i in range(3):
odleglosc= odleglosc + (x[i] - y[i]) ** 2
odleglosc = cmath.sqrt(odleglosc)
#odleglosc=odleglosc ** (1/2)
return odleglosc
def tests(f): def tests(f):
inputs = [[(2.3, 4.3, -7.5), (2.3, 8.5, -7.5)]] inputs = [[(2.3, 4.3, -7.5), (2.3, 8.5, -7.5)]]

View File

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

View File

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

View File

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

View File

@ -9,7 +9,8 @@ Np. leet('leet') powinno zwrócić '1337'.
def leet_speak(text): def leet_speak(text):
pass return tekst.replace('o', '0').replace('l', '1').replace('e', '3').replace('t', '7')
def tests(f): def tests(f):

View File

@ -7,10 +7,17 @@ Napisz funkcję pokemon_speak, która zamienia w podanym napisie co drugą liter
na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'. na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'.
""" """
def pokemon_speak(text): def pokemon_speak(text):
pass listy = []
for i in range(len(text)):
if i % 2 == 0:
listy.append(text[i].upper())
else:
listy.append(text[i])
return ''.join(listy)
def tests(f): def tests(f):
inputs = [['pokemon'], ['do not want'], ['POKEMON']] inputs = [['pokemon'], ['do not want'], ['POKEMON']]

View File

@ -8,8 +8,14 @@ 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. Oba napisy będą składać się wyłacznie z małych liter.
""" """
def common_chars(string1, string2): def common_chars(string1, string2):
pass s=string1.replace(' ','')
t=string2.replace(' ','')
s=set(s)
t=set(t)
zwracam = sorted(s & t)
return list(''.join(zwracam))
def tests(f): def tests(f):

3
labs02/test_task.py Executable file → Normal file
View File

@ -6,7 +6,8 @@ def suma(a, b):
""" """
Napisz funkcję, która zwraca sumę elementów. Napisz funkcję, która zwraca sumę elementów.
""" """
return 0 wynik = a + b
return wynik
def tests(f): def tests(f):
inputs = [(2, 3), (0, 0), (1, 1)] inputs = [(2, 3), (0, 0), (1, 1)]

21
labs04/Zadanie 5 Normal file
View File

@ -0,0 +1,21 @@
import glob
sciezka = 'scores/*.npz.bleu'
for plik in glob.glob(sciezka):
with open(plik, 'r') as f:
for linia in f.readlines():
numer = float(linia[linia.find("=") + 1:linia.find(",")])
if numer > 0:
max_numer = numer
max_numer_plik = plik
f.close()
print(max_numer_plik)

0
labs04/examples/06_execution_time.py Executable file → Normal file
View File

0
labs04/examples/25_ip2geolocation.py Executable file → Normal file
View File

68
labs06/homework.py Normal file
View File

@ -0,0 +1,68 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pandas as pd
import sys
import numpy as np
def wczytaj_dane():
my_data = pd.read_csv('mieszkania.csv',
encoding='utf-8',
index_col='Id',
sep = ',')
return my_data
def most_common_room_number(dane):
rooms = dane['Rooms']
return rooms.value_counts().index[0]
def cheapest_flats(dane, n):
dane2 = dane.sort_values(by=['Expected'])
return(dane2.head(n))
def find_borough(desc):
dzielnice = ['Stare Miasto',
'Wilda',
'Jeżyce',
'Rataje',
'Piątkowo',
'Winogrady',
'Miłostowo',
'Dębiec']
for dzielnia in dzielnice:
if dzielnia in desc:
return dzielnia
return 'Inne'
def add_borough(dane):
dane['Borough'] = dane.apply(lambda row: find_borough(row['Location']))
def write_plot(dane, filename):
dane['Borough'].value_counts().plot.bar().get_figure().savefig(filename)
def mean_price(dane, room_number):
mean_value = dane.loc[dane['Rooms'] == room_number]['Expected'].mean()
return mean_value
def find_13(dane):
return dane.loc[dane['Floor'] == 13]['Borough'].unique()
def find_best_flats(dane):
best_flats = dane.loc[(df['Borough'] == 'Winogrady') & (dane['Rooms'] == 3) & (dane['Floor'] == 1)]
return best_flats
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 mieszkania 3-pokojowego, to: {}"
.format(mean_price(dane, 3)))
if __name__ == "__main__":
main()

View File

@ -1,54 +0,0 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def wczytaj_dane():
pass
def most_common_room_number(dane):
pass
def cheapest_flats(dane, n):
pass
def find_borough(desc):
dzielnice = ['Stare Miasto',
'Wilda',
'Jeżyce',
'Rataje',
'Piątkowo',
'Winogrady',
'Miłostowo',
'Dębiec']
pass
def add_borough(dane):
pass
def write_plot(dane, filename):
pass
def mean_price(dane, room_number):
pass
def find_13(dane):
pass
def find_best_flats(dane):
pass
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 mieszkania 3-pokojowego, to: {}"
.format(mean_price(dane, 3)))
if __name__ == "__main__":
main()

42
labs06/tasks.py Executable file → Normal file
View File

@ -4,77 +4,111 @@
""" """
1. Zaimportuj bibliotkę pandas jako pd. 1. Zaimportuj bibliotkę pandas jako pd.
""" """
import pandas as pd
""" """
2. Wczytaj zbiór danych `311.csv` do zniennej data. 2. Wczytaj zbiór danych `311.csv` do zniennej data.
""" """
data = pd.read_csv("/home/students/s407531/PycharmProjects/Python2018/labs06/311.csv",low_memory=False)
""" """
3. Wyświetl 5 pierwszych wierszy z data. 3. Wyświetl 5 pierwszych wierszy z data.
""" """
data.head()
""" """
4. Wyświetl nazwy kolumn. 4. Wyświetl nazwy kolumn.
""" """
print(data.columns)
""" """
5. Wyświetl ile nasz zbiór danych ma kolumn i wierszy. 5. Wyświetl ile nasz zbiór danych ma kolumn i wierszy.
""" """
shape = data.shape
print(shape)
""" """
6. Wyświetl kolumnę 'City' z powyższego zbioru danych. 6. Wyświetl kolumnę 'City' z powyższego zbioru danych.
""" """
print(data['City'])
""" """
7. Wyświetl jakie wartoścu przyjmuje kolumna 'City'. 7. Wyświetl jakie wartoścu przyjmuje kolumna 'City'.
""" """
data.City.unique()
""" """
8. Wyświetl tabelę rozstawną kolumny City. 8. Wyświetl tabelę rozstawną kolumny City.
""" """
data.City.value_counts()
""" """
9. Wyświetl tylko pierwsze 4 wiersze z wcześniejszego polecenia. 9. Wyświetl tylko pierwsze 4 wiersze z wcześniejszego polecenia.
""" """
data.City.value_counts().head(4)
""" """
10. Wyświetl, w ilu przypadkach kolumna City zawiera NaN. 10. Wyświetl, w ilu przypadkach kolumna City zawiera NaN.
""" """
data['City'].isnull().sum()
x=data[data['City'].isnull()]
shape=x.shape
rows=shape[0]
print(rows)
""" """
11. Wyświetl data.info() 11. Wyświetl data.info()
""" """
data.info()
""" """
12. Wyświetl tylko kolumny Borough i Agency i tylko 5 ostatnich linii. 12. Wyświetl tylko kolumny Borough i Agency i tylko 5 ostatnich linii.
""" """
print(data[['Borough','Agency']].tail())
""" """
13. Wyświetl tylko te dane, dla których wartość z kolumny Agency jest równa 13. Wyświetl tylko te dane, dla których wartość z kolumny Agency jest równa
NYPD. Zlicz ile jest takich przykładów. NYPD. Zlicz ile jest takich przykładów.
""" """
x=data[data['Agency'] == 'NYPD']
shape=x.shape
rows=shape[0]
print(rows)
""" """
14. Wyświetl wartość minimalną i maksymalną z kolumny Longitude. 14. Wyświetl wartość minimalną i maksymalną z kolumny Longitude.
""" """
Longitude=data['Longitude']
Longitude.min()
Longitude.max()
""" """
15. Dodaj kolumne diff, która powstanie przez sumowanie kolumn Longitude i Latitude. 15. Dodaj kolumne diff, która powstanie przez sumowanie kolumn Longitude i Latitude.
""" """
Latitude=data['Latitude']
Longitude=data['Longitude']
data['Diff']=Latitude + Longitude
""" """
16. Wyświetl tablę rozstawną dla kolumny 'Descriptor', dla której Agency jest 16. Wyświetl tablę rozstawną dla kolumny 'Descriptor', dla której Agency jest
równe NYPD. równe NYPD.
""" """
y=data[data['Agency']=='NYPD']
y.Descriptor.value_counts()