Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 1. Napisać program, który za argument przyjmie
- # liczbę i wypisze, czy liczba jest parzysta, czy też nie.
- i=int(input("Podaj liczbę "))
- if i%2==0:
- print("Liczba jest parzysta")
- else:
- print("Liczba jest nieparzysta")
- Podaj liczbę5
- Liczba jest nieparzysta
- In [ ]:
- # 2. Napisać program, który wypisze wszystkie
- # liczby parzyste z zakresu od 1 do 100.
- for i in range(2,101,2):
- print(i)
- In [26]:
- # 3. Napisać funkcję, która będzie dodawała dwie liczby
- # podane jako argument z zakresu od 1 do 100.
- # W przypadku liczby spoza zakresu ma wypisać błąd.
- def funkcjaG(x,y):
- if(x<=100 and y<=100 and x>0 and y>0):
- print(x+y)
- else:
- print("Błąd")
- In [27]:
- funkcjaG(1,2)
- 3
- In [28]:
- funkcjaG(-5,0)
- Błąd
- In [35]:
- # 4. Napisać funkcję, która będzie za argument przyjmowała
- # imię oraz opcjonalnie nazwisko. Podczas wywołania
- # funkcji zwrócić imię i nazwisko.
- def funkcjaH(imie,nazwisko=""):
- return imie+" "+nazwisko
- In [41]:
- print(funkcjaH("Agata"))
- print(funkcjaH("Marta","Nowak"))
- Agata
- Marta Nowak
- In [37]:
- # 5. Napisać funkcję, która będzie wyświetlała informację
- # nt. kodu koloru, który zostanie przekazany jako
- # słowa kluczowe red, green, blue.
- In [42]:
- def funkcjaI(**kolory):
- for k in kolory:
- print(k,":",kolory[k])
- In [44]:
- funkcjaI(red="10",green="50",blue="200")
- red : 10
- green : 50
- blue : 200
- -------------------------------------------------------------------------------------------
- # 1. Napisać funkcję dodajElement, która będzie dodawała kolejny element
- # do zdefiniowanej wcześniej globalnej listy. Podczas dodawania ma sprawdzać,
- # czy element jest liczbą w zakresie od 1 do 100.
- In [2]:
- lista1=[]
- In [7]:
- def dodajElement(element):
- if element in range(1,101):
- lista1.append(element)
- print("Dodano element "+str(element))
- else:
- print("Nie dodano elementu "+str(element))
- In [8]:
- dodajElement(1)
- Dodano element 1
- In [6]:
- print(lista1)
- [1]
- In [13]:
- # 2. Napisać funkcję usunElement, która będzie usuwała element
- # z listy podany jako argument.
- def usunElement(element):
- if element in lista1:
- lista1.remove(element)
- print("Usunięto "+str(element))
- else:
- print("Nie znaleziono elementu "+str(element))
- In [17]:
- usunElement(1)
- Nie znaleziono elementu 1
- In [21]:
- usunElement(10)
- Nie znaleziono elementu 10
- In [22]:
- # 3. Utworzyć program, który będzie wykorzystywał
- # w pętli funkcję dodajElement, która doda odpowiednio
- # elementy z zakresu od 10 do 100.
- for i in range(10,101):
- #print("Dodano element "+str(i))
- dodajElement(i)
- In [24]:
- for i in lista1:
- print(i)
- In [25]:
- #4. Utworzyć program, który będzie wykorzystywał w pętli funkcję usunElement.
- #Funkcja ta ma usunąć ostatnie 5 elementów na liście.
- In [44]:
- for element in range(len(lista1)-1,len(lista1)-6,-1):
- usunElement(lista1[element])
- In [45]:
- lista1
- # 5. Utworzyć dwie listy korespondujące: nazwisko oraz wynagrodzenie.
- # Uzupełnić je pięcioma wartościami a następnie napisać funkcję,
- # która wyświetli w kolejnych wierszach nazwisko i wielkość wynagrodzenia.
- nazwisko=['JK','AN','AZ','EW','AK']
- wynagrodzenie=[2500.23,3500.54,2222.43,5430.87,2210.22]
- In [50]:
- def wyswietlNazwiska():
- for n, w in zip(nazwisko,wynagrodzenie):
- print ("{0}, {1}".format(n,w))
- In [51]:
- wyswietlNazwiska()
- JK, 2500.23
- AN, 3500.54
- AZ, 2222.43
- EW, 5430.87
- AK, 2210.22
- In [52]:
- #6. Utworzyć program, który będzie przechowywał kolekcję słów kluczowych
- #w języku polskim i angielskim w postaci list korespondujących.
- #Program powinien wyświetlać słowo i pozwalać użytkownikowi odgadnąć
- #właściwe słowo.
- en=['language','python','notebook']
- pl=['język','pyton','notatnik']
- In [57]:
- def wyswietlSlowo(i):
- print(en[i])
- odpowiedz=str(input("Podaj odpowiedź "))
- if odpowiedz==pl[i]:
- print("Odpowiedź poprawna.")
- else:
- print("Odpowiedź niepoprawna.")
- In [67]:
- import random
- wyswietlSlowo(random.randrange(0,2))
- language
- Podaj odpowiedź język
- Odpowiedź poprawna.
- ----------------------------------------------------------------------------------------------------------------------------
- #1. Przygotuj moduł o nazwie notatki składający się z dwóch metod:
- #a) zapis, która za argument będzie pobierała wartość tekstową do zapisu
- #b) odczyt, która będzie odczytywała zapisany w punkcie a plik tekstowy
- #Wartości przekazywane przez argument powinny być zapisywane w kolejnych
- #wierszach pliku.
- In [109]:
- def zapis(notatka):
- with open("notatkaJM.txt","a+") as f:
- f.write(notatka+"\n")
- def odczyt():
- with open("notatkaJM.txt","r") as f:
- print(f.read())
- In [114]:
- zapis("Trzy")
- In [115]:
- odczyt()
- Dwa
- Dwa
- Jeden
- Trzy
- In [116]:
- #2. Przygotuj metodę o nazwie listaPracownikow, która będzie zapisywała
- #w pliku csv następujące informacje:
- #id, imie, nazwisko, staz pracy
- #Wartości te powinny być przekazywane jako argument metody.
- In [119]:
- def listaPracownikow(id,imie,nazwisko,stazPracy):
- with open("listaPracownikowJM.csv","a+") as f:
- zapis=csv.writer(f,delimiter=";")
- zapis.writerow([id,imie,nazwisko,stazPracy])
- In [117]:
- #3. Utworzyć metodę o nazwie odczytPracownikow, która pozwoli
- #na filtrowanie wyników wyszukiwania według nazwisk.
- #Po znalezieniu danego nazwiska i imienia, wartości powinny
- #zostać wyświetlone.
- In [121]:
- def odczytPracownikow(nazwisko):
- with open("listaPracownikowJM.csv","r") as f:
- odczyt=csv.reader(f,delimiter=";")
- lista=list(odczyt)
- for i in range(0,len(lista)):
- if lista[i][2]==nazwisko:
- print(lista[i])
- In [118]:
- #4. Utworzyć metodę o nazwie liczbaPracownikow, która będzie
- #wyświetlała liczbę pracowników znajdujących się w pliku csv.
- In [123]:
- listaPracownikow(2,'Jan','Nowak',3)
- In [124]:
- odczytPracownikow("Nowak")
- ['2', 'Jan', 'Nowak', '3']
- In [3]:
- import csv
- def liczbaPracownikow():
- with open("listaPracownikowJM.csv","r") as f:
- odczyt=csv.reader(f,delimiter=";")
- lista=list(odczyt)
- print("Liczba pracowników wynosi: " + str(len(lista)))
- In [4]:
- liczbaPracownikow()
- Liczba pracowników wynosi: 2
- In [6]:
- # 5. Przygotować słownik zawierający informacje nt. studentów - nr indeksu,
- # imię, nazwisko, średnia ocen. Metoda slownikJSON powinna pobierać te informacje
- #i zapisywać w pliku JSON, którego nazwa powinna odpowiadać numerowi indeksu.
- import json
- daneStudenta= {
- 'nrIndeksu': 200120,
- 'imie': 'Jan',
- 'nazwisko': 'Kowalski',
- 'sredniaOcen': 4.2
- }
- def slownikJSON(nrIndeksu,dane,operacja):
- if operacja=='odczyt':
- with open('daneStudenta'+str(nrIndeksu)+'_JM.json','r') as f:
- daneStudenta=json.load(f)
- print('Wczytano')
- print(daneStudenta)
- else:
- with open ('daneStudenta'+str(nrIndeksu)+'_JM.json','w') as f:
- json.dump(dane,f)
- In [8]:
- slownikJSON(200120,daneStudenta,'zapis')
- In [9]:
- slownikJSON(200120,daneStudenta,'odczyt')
- Wczytano
- {'sredniaOcen': 4.2, 'nrIndeksu': 200120, 'imie': 'Jan', 'nazwisko': 'Kowalski'}
- In [18]:
- # 6. Przygotować metodę odczytJSON umożliwiającą odczytywanie plików JSON
- # utworzonych w poprzednim punkcie. Metoda ta za argument ma przyjmować numer indeksu.
- def odczytJSON(nrIndeksu):
- slownikJSON(nrIndeksu,'','odczyt')
- In [19]:
- odczytJSON(200120)
- Wczytano
- {'sredniaOcen': 4.2, 'nrIndeksu': 200120, 'imie': 'Jan', 'nazwisko': 'Kowalski'}
- In [ ]:
- # 7. Przygotować plik CSV, który będzie zawierał następujące informacje nt. studentów:
- #nr indeksu, ocena bazy danych, ocena programowanie
- #Odczytać go w ramach biblioteki pandas a następnie wyliczyć podstawowe statystyki
- #dotyczące otrzymywanych ocen.
- In [ ]:
- #8. Utworzyć bazę danych dotyczącą ewidencji urządzeń. Informacje te powinny być
- #zapisywane w pliku CSV a wprowadzane bezpośrednio przez użytkownika
- #(pytanie o nowe urządzenie powinno się pojawić po uruchomieniu programu).
- #Każde nowe urządzenie powinno mieć nadany kolejny numer.
- ------------------------------------------------------------------------------------------------------------------------
- #1. Przygotować metodę o nazwie kalkulator, która będzie
- #odpowiednio dodawała lub odejmowała dwie liczby,
- #w zależności od parametrów - x, y, rodzajdzialania.
- #W przypadku niewłaściwego typu danych należy wygenerować
- #lub obsłużyć odpowiedni wyjątek.
- def kalkulator(x,y,rodzajdzialania):
- try:
- if(rodzajdzialania=='odejmowanie'):
- print('Wynik działania '+str(x-y))
- else:
- print('Wynik działania '+str(x+y))
- except TypeError:
- print('Zła wartość')
- In [28]:
- kalkulator(10,20,'odejmowanie')
- Wynik działania -10
- In [29]:
- kalkulator(10,20,'dodawanie')
- Wynik działania 30
- In [30]:
- kalkulator('10',20,'odejmowanie')
- Zła wartość
- In [43]:
- #2. Utworzyć metodę odczyt, która będzie pobierała
- #z bazy danych w pliku następujące wartości:
- #1;Jan;Kowalski
- #2;Adam;Nowak
- #W przypadku, gdy pierwsza wartość nie jest liczbą,
- #należy wygenerować wyjątek.
- #daneJM.csv
- import csv
- def odczyt():
- try:
- with open('DaneJM.csv','r') as csvPlik:
- plik=csv.reader(csvPlik,delimiter=';',quotechar='"')
- for wiersz in plik:
- print(int(wiersz[0]))
- except TypeError:
- print("Błąd - liczba nie jest typem liczbowym")
- except IOError:
- print("Błąd wejścia wyjścia")
- In [44]:
- odczyt()
- 1
- 2
- 3
- 4
- In [86]:
- #3. Utworzyć metodę analizy, która będzie odczytywała
- #z pliku tekstowego wartości liczbowe:
- #ID;Wiek
- #1;23
- #2;22
- #3;26
- #Metoda ta ma liczyć średnią wieku a następnie
- #zwracać informację o liczbie osób i wyliczonej
- #średniej. W przypadku, gdy w pliku będą
- #niewłaściwe wartości lub brak wierszy z danymi,
- #należy obsłużyć odpowiedni wyjątek.
- import csv
- def analizy():
- try:
- with open('lab4_3.csv','r') as csvPlik:
- plik=csv.reader(csvPlik,delimiter=';',quotechar='"')
- # pominięcie pierwszego wiersza
- next(plik)
- suma=0
- i=0
- for wiersz in plik:
- i+=1
- suma+=int(wiersz[1])
- return ("Średnia wieku to "+str(suma/i))
- except ValueError:
- print("Błąd wartości")
- except TypeError:
- print("Błąd - liczba nie jest typem liczbowym")
- except IOError:
- print("Błąd wejścia wyjścia")
- In [87]:
- analizy()
- Out[87]:
- 'Średnia wieku to 23.666666666666668'
- In [ ]:
- #4. Utworzyć metodę, która będzie odczytywała
- #z klawiatury wartości liczbowe wprowadzane
- #do listy o nazwie wartosc. W przypadku
- #otrzymania niewłaściwej wartości, należy
- #wygenerować wyjatek i pozwolić użytkownikowi
- #na wprowadzanie kolejnych liczb.
- -------------------------------------------------------------------------------------------------------------------------
- class A:
- "Klasa A"
- i=1
- def f(x):
- return "Metoda f"
- In [2]:
- o=A()
- In [3]:
- print(o.f())
- Metoda f
- In [4]:
- print(o.i)
- 1
- In [5]:
- class B:
- def __init__(self,zmienna1,zmienna2):
- self.a=zmienna1
- self.b=zmienna2
- In [6]:
- o2=B(3,'ABC')
- In [8]:
- print(o2.a)
- print(o2.b)
- 3
- ABC
- In [9]:
- class C:
- pass
- In [10]:
- c=C()
- In [11]:
- c.a='A'
- In [12]:
- c.b=10
- In [13]:
- def f(self,x,y):
- return x+y
- In [14]:
- class D:
- funkcja=f
- def g(self):
- return 'Klasa D'
- h=g
- In [15]:
- o3=D()
- In [17]:
- o3.h()
- Out[17]:
- 'Klasa D'
- In [18]:
- o3.funkcja(2,2)
- Out[18]:
- 4
- In [19]:
- class E(D):
- pass
- In [20]:
- o4=E()
- In [21]:
- o4.h()
- Out[21]:
- 'Klasa D'
- In [80]:
- # 4. Zaimplementować metodę wyszukaj, która umożliwia wyszukiwanie
- # określonych treści z pliku, według różnych kryteriów,
- # tj. wynagrodzenie, przedział wynagrodzenia oraz miejscowosc.
-
- import datetime,csv
- class BazaDanych:
- nazwaPliku=''
- def __init__(self,nazwaPliku):
- self.nazwaPliku=nazwaPliku
- def zapis(self,miejscowosc,wynagrodzenie):
- try:
- f=open(self.nazwaPliku,"a+")
- f.write(miejscowosc+','+wynagrodzenie+','+str(datetime.date.today())+"\n")
- except IOError as err:
- print("Błąd I/O "+str(err))
- return 'Zapisano dane'
- def odczyt(self):
- with open(self.nazwaPliku,"r") as f:
- odczyt=csv.reader(f)
- lista=list(odczyt)
- return lista
- def wyszukaj(self,miejscowosc):
- lista=self.odczyt()
- for i in range(0,len(lista)):
- if lista[i][0]==miejscowosc:
- print(lista[i])
- return 'Zakończono wyszukiwanie'
- def wyszukaj(self,od,do):
- lista=self.odczyt()
- for i in range(0,len(lista)):
- if float(lista[i][1])<=do and float(lista[i][1])>=od:
- print(lista[i])
- return 'Zakończono wyszukiwanie'
- In [81]:
- bd=BazaDanych("plikJM.txt")
- In [58]:
- bd.zapis('Gdańsk','5079.82')
- bd.zapis('Sopot','4980.27')
- bd.zapis('Gdynia','5010.43')
- Out[58]:
- 'Zapisano dane'
- In [75]:
- nazwiska=bd.odczyt()
- In [76]:
- nazwiska
- Out[76]:
- [['Gdańsk', '5079.82', '2018-01-10'],
- ['Sopot', '4980.27', '2018-01-10'],
- ['Gdynia', '5010.43', '2018-01-10'],
- ['Gdańsk', '5190.82', '2018-01-10'],
- ['Gdańsk', '5190.82', '2018-01-10']]
- In [74]:
- print(bd.wyszukaj("Sopot"))
- ['Sopot', '4980.27', '2018-01-10']
- Zakończono wyszukiwanie
- In [83]:
- print(bd.wyszukaj(5000,5090))
- ['Gdańsk', '5079.82', '2018-01-10']
- ['Gdynia', '5010.43', '2018-01-10']
- Zakończono wyszukiwanie
- In [ ]:
- --------------------------------------------------------------------------------------------------------------------------
- #1. Przygotować klasę o nazwie Dane, która będzie
- #zapisywała w pliku CSV podanym jako argument metody zapis():
- #nr indeksu; grupa; średnia
- #Dodać 10 różnych wartości.
- class Dane():
- def zapis(self,nazwaPliku,nrindeksu,grupa,srednia):
- try:
- plik=open(nazwaPliku,"a+")
- plik.write(str(nrindeksu)+";"+str(grupa)+";"+str(srednia)+"\n")
- except IOException as err:
- print("Błąd "+str(err))
-
- d1=Dane()
- d1.zapis("daneL6_JM.csv",'nrIndeksu','grupa','srednia')
- d1.zapis("daneL6_JM.csv",200000,'C22-31',4.7)
- d1.zapis("daneL6_JM.csv",200001,'C22-31',4.6)
- d1.zapis("daneL6_JM.csv",200002,'C22-31',4.5)
- d1.zapis("daneL6_JM.csv",200003,'C22-31',4.4)
- d1.zapis("daneL6_JM.csv",200004,'C22-31',4.3)
- d1.zapis("daneL6_JM.csv",200005,'C22-32',4.2)
- d1.zapis("daneL6_JM.csv",200006,'C22-32',4.1)
- d1.zapis("daneL6_JM.csv",200007,'C22-32',4.0)
- d1.zapis("daneL6_JM.csv",200008,'C22-32',4.1)
- d1.zapis("daneL6_JM.csv",200009,'C22-32',4.2)
- d1.zapis("daneL6_JM.csv",200010,'C22-32',4.3)
- #2. Utworzyć nową klasę o nazwie Analiza, która będzie
- #zawierała metody:
- #sredniaWgGrup()
- #listaStudentow()
- #W zależności od wywołanej metody, powinna pojawiać się
- #określona wartość.
- #3. Rozszerzyć program analiza o zapisywanie wyników działań
- #w postaci pliku tekstowego. Wyliczone informacje powinny
- #zostać zapisane w plikach srednie oraz listaStudentow.
- import pandas
- import numpy
- class Analiza():
- def sredniaWgGrup(self):
- plik=pd.read_csv("daneL6_JM.csv",index_col=False,header=0,delimiter=";")
- print(plik.groupby(['grupa'])['srednia'].mean())
- df=plik.groupby(['grupa'])['srednia'].mean()
- df.to_csv("srednieJM.csv",header=0,sep=";")
- def listaStudentow(self):
- plik=pd.read_csv("daneL6_JM.csv",index_col=False,header=0,delimiter=";")
- print(plik)
- plik.to_csv("listaStudentowJM.csv",header=0,sep=";")
- a=Analiza()
- a.listaStudentow()
- nrIndeksu grupa srednia
- 0 200000 C22-31 4.7
- 1 200001 C22-31 4.6
- 2 200002 C22-31 4.5
- 3 200003 C22-31 4.4
- 4 200004 C22-31 4.3
- 5 200005 C22-32 4.2
- 6 200006 C22-32 4.1
- 7 200007 C22-32 4.0
- 8 200008 C22-32 4.1
- 9 200009 C22-32 4.2
- 10 200010 C22-32 4.3
- #4. Dodać nowy plik o nazwie grupa.csv, który będzie zawierał
- #dwie kolumny:
- #grupa; specjalnosc
- with open("grupaJM.csv","w+") as f:
- f.write("grupa;specjalnosc\nC22-32;AiB\nC22-31;AiB")
- #5. Połączyć zbiór danych z punktu 1 ze zbiorem danych z punktu 4
- #i zapisać go w postaci pliku csv.
- f=pd.read_csv("daneL6_JM.csv",index_col=False,delimiter=";",header=0)
- f2=pd.read_csv("grupaJM.csv",index_col=False,delimiter=";",header=0)
- f3=f.merge(f2,on='grupa',how='inner')
- f3.to_csv("mergeJM.csv",header=0,sep=";")
- f3
- nrIndeksu grupa srednia specjalnosc
- 0 200000 C22-31 4.7 AiB
- 1 200001 C22-31 4.6 AiB
- 2 200002 C22-31 4.5 AiB
- 3 200003 C22-31 4.4 AiB
- 4 200004 C22-31 4.3 AiB
- 5 200005 C22-32 4.2 AiB
- 6 200006 C22-32 4.1 AiB
- 7 200007 C22-32 4.0 AiB
- 8 200008 C22-32 4.1 AiB
- 9 200009 C22-32 4.2 AiB
- 10 200010 C22-32 4.3 AiB
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement