1
0
forked from tdwojak/Python2018

Compare commits

..

1 Commits

Author SHA1 Message Date
a9867f7588 task02 2018-06-03 10:04:16 +02:00
21 changed files with 59 additions and 209 deletions

View File

@ -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>

View File

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

View File

@ -9,59 +9,48 @@ Zadania wprowadzające do pierwszych ćwiczeń.
"""
Wypisz na ekran swoje imię i nazwisko.
"""
print("Andrea Góralczyk")
"""
Oblicz i wypisz na ekran pole koła o promienie 10. Jako PI przyjmij 3.14.
"""
pi= 3.14
p=pi*(10**2)
print("pole=",p )
"""
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.
Wynik przypisz do zmiennej `owoce`.
"""
owoce= ["truskawki", "gruszki", "banan"]
print(owoce)
"""
Dodaj do powyższej listy jako nowy element "pomidor".
"""
owoce.append("pomidor")
print(owoce)
"""
Usuń z powyższej listy drugi element.
"""
owoce.pop(1)
print(owoce)
"""
Rozszerz listę o tablice ['Jabłko', "Gruszka"].
"""
owoce.extend(["Jabłko","Gruszka"])
print(owoce)
"""
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.
"""
print("co trzeci element", owoce[::3])
"""
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,
zaś wartościami były równe 5.
"""
for i in owoce:
magazyn[i]=[5]
print(magazyn)

View File

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

View File

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

View File

@ -11,15 +11,11 @@ litery. (OOV = out of vocabulary) (W pythonie istnieje struktura danych tak
jak 'set', która przechowuje elementy bez powtórzeń.)
"""
from sets import Set
def oov(text, vocab):
rozdzielenie=text.split(' ')
slowa= set()
slowa= (slowa for slowa in rozdzielenie if slowa not in vocab)
pass
return slowa
def tests(f):
inputs = [("this is a string , which i will use for string testing",

View File

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

View File

@ -9,15 +9,8 @@ trzyelementowe listy liczb zmiennoprzecinkowych.
np. odległość pomiędzy punktami (0, 0, 0) i (3, 4, 0) jest równa 5.
"""
def euclidean_distance(x, y):
odleglosc = 0
for i in range(3):
odleglosc = odleglosc + (x[i] - y[i]) ** 2
odleglosc = cmath.sqrt(odleglosc)
return odleglosc
pass
def tests(f):
inputs = [[(2.3, 4.3, -7.5), (2.3, 8.5, -7.5)]]

View File

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

View File

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

View File

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

View File

@ -7,18 +7,10 @@ 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'.
"""
def leet_speak(text):
for i in range(len(text)):
if ((text[i]) == 'e'):
text = text[:i] + '3' + text[i + 1:]
elif ((text[i]) == 'l'):
text = text[:i] + '1' + text[i + 1:]
elif ((text[i]) == 'o'):
text = text[:i] + '0' + text[i + 1:]
elif ((text[i]) == 't'):
text = text[:i] + '7' + text[i + 1:]
return text
pass
def tests(f):
inputs = [['leet'], ['do not want']]

View File

@ -9,12 +9,8 @@ na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'.
def pokemon_speak(text):
for i in range(len(text)):
if ((i % 2) == 0):
text = text[:i] + (text[i].upper()) + text[i + 1:]
pass
return text
def tests(f):
inputs = [['pokemon'], ['do not want'], ['POKEMON']]

View File

@ -9,24 +9,7 @@ Oba napisy będą składać się wyłacznie z małych liter.
"""
def common_chars(string1, string2):
n= string1
m= string2
li = []
if len(n) >= len(m):
for i in range(len(n)):
for j in range(len(m)):
if n[i] == m[j]:
li.append(n[i])
else:
for i in range(len(m)):
for j in range(len(n)):
if m[i] == n[j]:
li.append(m[i])
li = list(set(li))
li.remove(' ')
li.sort()
return li
pass
def tests(f):

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

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

View File

@ -5,6 +5,11 @@
**ćwiczenie 0**
Uruchom programy z katalogu `examples` i zobacz ich kod. Spróbuj odgadnąć, co robią konkretne linie w kodzie.
**ć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)``).

View File

@ -1,17 +0,0 @@
import glob
sciezka = "/scores/model.iter*.npz.bleu"
for file in glob.glob(sciezka):
with open(file, 'r') as plik:
for line in plik.readlines():
bleu = float(line[line.find("=")+ 1:line.find(",")])
if bleu >0:
max = bleu
maxi = file
plik.close()
print ( maxi )

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

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

59
labs06/task02.py Normal file → Executable file
View File

@ -1,25 +1,16 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pandas as pd
def wczytaj_dane():
data = pd.read_csv('mieszkania.csv', sep = ',')
return data
pass
def most_common_room_number(dane):
x= dane['Rooms'].value_counts()
return(x.index.values[0])
pass
def cheapest_flats(dane, n):
cheap=dane.sort_values('Expected')
return (cheap.head(n))
pass
def find_borough(desc):
dzielnice = ['Stare Miasto',
'Wilda',
'Jeżyce',
@ -28,45 +19,23 @@ 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):
values = []
for i in dane['Location']:
values.append(find_borough(i))
tempSeries = pd.Series(values)
dane['Borough'] = tempSeries.values
pass
def write_plot(dane, filename):
add_borough(dane)
plot = dane['Borough'].value_counts()
wykres = plot.plot(kind='bar', alpha=0.5, title='Liczba mieszkań z podziałem na dzielnice', fontsize=7, figsize=(8,8))
wykres.set_ylabel('Liczba ogloszeń')
wykres.set_xlabel('Dzielnice')
plik = wykres.get_figure()
plik.savefig(filename)
pass
def mean_price(dane, room_number):
price = dane.loc[dane['Rooms'] == room_number]
return price['Expected'].mean()
pass
def find_13(dane):
x = dane.loc[dane['Floor'] == 13]
return list(set(x['Borough'].tolist()))
pass
def find_best_flats(dane):
the_best = dane.loc[dane['Borough'] == 'Winogrady' & dane['Rooms'] == 3 & dane['Floor'] == 1]
return the_best
pass
def main():
dane = wczytaj_dane()
@ -75,13 +44,11 @@ def main():
print("Najpopularniejsza liczba pokoi w mieszkaniu to: {}"
.format(most_common_room_number(dane)))
print("{} to najładniejsza dzielnica w Poznaniu."
.format(find_borough("Grunwald i Jeżyce")))
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)))
write_plot(dane, 'ogloszenia.png')
if __name__ == "__main__":
main()
main()

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

@ -4,92 +4,77 @@
"""
1. Zaimportuj bibliotkę pandas jako pd.
"""
import pandas as pd
"""
2. Wczytaj zbiór danych `311.csv` do zniennej data.
"""
data=pd.read_csv("/home/students/s407545/PycharmProjects/Python2018/labs06/311.csv", low_memory=False)
"""
3. Wyświetl 5 pierwszych wierszy z data.
"""
data.head()
"""
4. Wyświetl nazwy kolumn.
"""
print(data.columns)
"""
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.
"""
print(data['City'])
"""
7. Wyświetl jakie wartoścu przyjmuje kolumna 'City'.
"""
data.City.unique()
"""
8. Wyświetl tabelę rozstawną kolumny City.
"""
data.City.value_counts()
"""
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.
"""
x= data['City'].isnull().sum()
x= data[data['City']=='NYPD']
shape=x.shape
rows= shape[0]
print(rows)
"""
11. Wyświetl data.info()
"""
data.info()
"""
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
NYPD. Zlicz ile jest takich przykładów.
"""
y= data[data['Agency']=='NYPD']
shape=y.shape
rows= shape[0]
print(rows)
"""
14. Wyświetl wartość minimalną i maksymalną z kolumny Longitude.
"""
x=data['Longitude']
x.min()
x.max()
"""
15. Dodaj kolumne diff, która powstanie przez sumowanie kolumn Longitude i Latitude.
"""
x=data['Longitude']
y=data['Latitude']
data['diff']= x+y
print(data.columns)
"""
16. Wyświetl tablę rozstawną dla kolumny 'Descriptor', dla której Agency jest
równe NYPD.
"""
y= data[data['Agency']=='NYPD']
y.Descriptor.value_counts()