Python2019/labs02/zadania_3_solved.py
2019-02-05 19:05:00 +01:00

191 lines
3.4 KiB
Python
Executable File

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Zadania na rozgrzewkę.
"""
"""
zad. 1
* Stwórz listę składającą się z dowolnych 100 elementów, np. może być
to listę kwadratów liczb.
* Sprawdź za pomocą funkcji len liczbę elementów tej listy.
* Usuń trzeci, element.
* Usuń przedostatni element.
* Wyświetl pierwsze 10 elementów.
"""
print("zad. 1")
kw = []
for i in range(100):
kw.append(i ** 2)
kw.pop(2)
kw.pop(-2)
print(kw[:10])
"""
zad. 2
Znajdz najmniejsz element w poniższej liście.
"""
print("zad. 2")
l = [0, 6, 9, -10, -5, 9, 8, -6]
print(min(l))
m = l[0]
for i in l:
if i < m:
m = i
print(m)
"""
zad. 3
Wyświetl poniższy słownik, tak, aby każda para klucz: wartość
była w osobnej linii.
"""
print("zad. 3")
s = {'Tomasz': [3, 4, 5, 4], 'Agata': [5, 5, 5, 4]}
for k, v in s.items():
print(k, ':', v)
for k in s:
print(k, ':', s[k])
"""
zad. 4
Poniżej jest podana lista liczby. Stwórz słownik <counter>, którego kluczami
będą wartości występujące w liście <liczby>, a wartościami ile dany element
wystąpił w liście <liczby>.
"""
print("zad. 4")
liczby = [3, 4, 3, 3, 4, 7, 9]
counter = {}
for i in liczby:
counter[i] = liczby.count(i)
print(counter)
counter = {}
for i in liczby:
if i not in counter:
counter[i] = 1
else:
counter[i] += 1
print(counter)
"""
zad. 5
Poniższy słownik oceny dwóch osób. Stwórz nowy słownik z takimi samymi kluczami,
ale wartościami tego słownika będą średnie oceń.
"""
print("zad. 5")
s = {'Tomasz': [3, 4, 5, 4], 'Agata': [5, 5, 5, 4]}
srednie = {}
for k, v in s.items():
srednie[k] = sum(v) / len(v)
print(srednie)
for k, v in s.items():
suma = 0
for i in v:
suma += i
srednie[k] = suma / len(v)
print(srednie)
"""
zad. 6
Dla podanego poniże słownika S, stwórz nowy słownik, którego kluczami będą
wartości słownika S, a wartościami: odpowiadające im klucze z S.
"""
S = {'Klucz1': "Wartosc1", 'Klucz2': "Wartosc2", 'Klucz3': "Wartosc3"}
print("zad. 6")
odw = {}
for k, v in S.items():
odw[v] = k
print(odw)
"""
zad. 7
Napisz kod, który wypisze na ekran elementy, które występnują w obu poniżej
podanych listach.
"""
l1 = [99, 8, 7, 55]
l2 = [55, 111, 11, 99, 8]
print("zad. 7")
common = []
for i in l1:
if i in l2:
common.append(i)
print(common)
print([i for i in l1 if i in l2])
"""
zad. 8
Napisz kod, który znajdzie najdroższy produkt w poniższym słowniku.
"""
print("zad. 8")
zakupy = {'telefon': 1000, 'ładowarka': 35, 'chleb': 4.30, 'kawa': 55, 'gramofon': 240}
maxi = list(zakupy.keys())[0]
for k, v in zakupy.items():
if zakupy[maxi] < v:
maxi = k
print(maxi)
print(max(zakupy.items(), key=lambda x: x[1])[0])
"""
zad. 9
Stwórz listę składającą się z wartości słownika zakupy.
"""
print("zad. 9")
zakupy = {'telefon': 1000, 'ładowarka': 35, 'chleb': 4.30, 'kawa': 55, 'gramofon': 240}
values = []
for k, v in zakupy.items():
values.append(v)
print(values)
print(list(zakupy.values()))
"""
zad. 10
Wyświetl na ekranie poniższy wzór:
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
"""
print("zad. 10")
for i in range(9):
stars = []
if i <= 4:
for k in range(i + 1):
stars.append('*')
print(' '.join(stars))
else:
for k in range(9 - i):
stars.append('*')
print(' '.join(stars))