Python 3.7.3

Przykładowe zadania i rozwiązania, poradniki w języku Python 3.7.3!

Nie jesteś zalogowany na forum.

#1 2019-06-12 23:09:48

TomaszO
Administrator
Dołączył: 2019-06-12
Liczba postów: 19
Windows 7Opera 60.0.3255.151

Koło M - rozwiazania

Zadanie 1 (1 pkt) Korzystając z Python comprehensions wygeneruj listę 10 krotek postaci (0,1),(1,2),(2,3) itd.

def zad1():
    # klasycznie
    lista = []
    for i in range(10):
        lista.append((i,i+1))

    # python comprehension
    lista = [(i, i+1) for i in range(10)]
    return lista
print(zad1())
print(len(zad1()))

# Zadanie 2 (1 pkt) Napisz funkcję, która przyjmuje tekst jako parametr wejściowy. Funkcja zapisuje wyrazy rozpoczynające się z małych liter do jednej listy a te rozpoczynające się z wielkich liter do drugiej listy. Wyświetl te listy.

def zad2(tekst):
    wyrazy = tekst.split(" ")
    print(wyrazy)
    male = []
    duze = []
    for wyraz in wyrazy:
        if wyraz[0].islower():
            male.append(wyraz)
        elif wyraz[0].isupper():
            duze.append(wyraz)
    # lub python comprehension
    male = [wyraz for wyraz in wyrazy if wyraz[0].islower()]
    print(male)
    print(duze)
print(zad2("Ala ma kota."))

# Zadanie 3 (1 pkt) Napisz funkcję, która przyjmuje „n” oraz „symbol” jako parametr wejściowy. Funkcja wypisuje na wyjściu X w poniższej formie na podstawie podanych parametrów. Np. (n=3, symbol=”O”). Funkcja działa tylko wtedy gdy „n” jest nieparzyste.
O_O
_O_
O_O

def zad3(n, symbol='O'):
    if n % 2 == 0:
        return
    czesc1 = [symbol + '_'*i + symbol for i in range(n-2, 0, -2)]
    for i in czesc1:
        print(i)
    print('_O_')
    czesc1.reverse()
    for i in czesc1:
        print(i)
print(zad3(4))

# Zadanie 4 (1 pkt) Napisz funkcję, która z klawiatury przyjmuje wartości postaci: indeks_studenta:punkty, np.
123456:10 a następnie zapisuje te dane do słownika dodając punkty do siebie jeżeli taki indeks już w słowniku istnieje. Funkcja kończy działanie po wpisaniu STOP zamiast indeks_studenta:punkty.

def zad4():

    slownik = {}
    while True:
        wejscie = input("Podaj wartości postaci indeks:punkty lub koniec aby zakończyć\n")
        if wejscie == 'koniec':
            break
        rekord = wejscie.split(":")
        if rekord[0] in slownik.keys():
            slownik[rekord[0]] += int(rekord[1])
        else:
            slownik[rekord[0]] = int(rekord[1])
            # slownik.update({rekord[0]: int(rekord[1])})

    return slownik

Zadanie 5 (2 pkt) Pobierz plik z http://wmii.uwm.edu.pl/~kropiak/wd/zamowienia_50.csv i napisz funkcję, która
wczyta plik (zobacz, że pierwszy wiersz to etykiety kolumn) i policzy sumę zamówień dla poszczególnych państw.

def zad5():


    # 1 wczytujemy plik
    with open("zamowienia_50.csv") as plik:
        dane = plik.readlines()

    print(dane)

    # 2 podzelić wiersz
    dane = dane[1:]
    print(dane)
    sumy = {}
    for wiersz in dane:
        wartosci = wiersz.split(';')
        if wartosci[0] in sumy.keys():
            sumy[wartosci[0]] += float(wartosci[2].rstrip('\n'))
        else:
            sumy[wartosci[0]] = float(wartosci[2].rstrip('\n'))

    print(sumy)
print(zad5())

Zadanie 8 (2 pkt)
Napisz funkcję, która przyjmuje tekst jako parametr wejściowy. Funkcja wypisuje na wyjściu tekst
otoczony w ramką postaci:
##################################
# Podany tekst. #
# #
##################################
Żeby nie było zbyt łatwo  to są dodatkowe warunki:
- tekst ma być dzielony na linie o długości max. 80 znaków (razem ze znakiem # oraz spacją po # w
linii i przed # w linii),
- tekst nie może być podzielony w połowie wyrazu

tekst = """This paper reports empirical evidence that a neural networks model is applicable to the
statistically reliable prediction of foreign exchange rates. Time series data and technical
indicators such as moving average, are fed to neural nets to capture the underlying “rules” of the
movement in currency exchange rates. The trained recurrent neural networks forecast the
exchange rates between American Dollar and four other major currencies, Japanese Yen, Swiss
Frank, British Pound and EURO. Various statistical estimates of forecast quality have been
carried out. Obtained results show, that neural networks are able to give forecast with coefficient
of multiple determination not worse then 0.65. Linear and nonlinear statistical data
preprocessing, such as Kolmogorov-Smirnov test and Hurst exponents for each currency were
calculated and analyzed. """

def zad8(tekst):
    wyrazy = tekst.split()
    print('#' * 80)
    linia = ''
    for wyraz in wyrazy:
        if len(linia + ' ' + wyraz) > 76:
            print('# ' + linia + " " * (80-len(linia)-4) + ' #')
            linia = wyraz + ' '
        else:
            linia += wyraz + ' '

    print('#' * 80)
print(zad8(tekst))




Edit by SpeX

Offline

Użytkowników czytających ten temat: 0, gości: 1
[Bot] ClaudeBot