Kurs Pythona Swachy – Ćwiczenia

Zaczynając moją przygodę z pythonem naktnałem się na bardzo ciekawy kurs. Kurs Jakuba Swachy który możecie znaleźć na stronie http://uoo.univ.szczecin.pl/~jakubs/ . Bardzo polecam ten kurs osobom chętnym do poznania pythona.  Pomyślałem,  że zamieszcze tutaj moje rozwiązania do niektórych ćwiczeń.  (Pliki .py znajdziecie na sidebarze)

Ćwiczenie 11.

Napisz program “numer.py”, który zamieni wprowadzony przez użytkownika ciąg cyfr na formę tekstową:

a) znaki nie będące cyframi mają być ignorowane

b) konwertujemy cyfry, nie liczby, a zatem:

- 911 to “dziewięć jeden jeden”

- 1100 to “jeden jeden zero zero”

import string
cyfry = ('zero', 'jeden', 'dwa', 'trzy', 'cztery', 'pięć', 'sześć', 'siedem', 'osiem', 'dziewięć')
ciag = raw_input('Podaj ciąg cyfr: ')
for x in ciag:
    if x not in string.digits: continue
    print cyfry[int(x)]

Ćwiczenie 12.

Woda zamarza przy 32 stopniach Fahrenheita, a wrze przy 212 stopniach Fahrenheita. Napisz program “stopnie.py”, który wyświetli tabelę przeliczeń stopni Celsjusza na stopnie Fahrenheita w zakresie od –20 do +40 stopni Celsjusza (co 5 stopni). Pamiętaj o wyświetlaniu znaku plus/minus przy temperaturze.

for x in range(-20,45,5):
    print '%+3i' % x, 'to sie równa %+4i' % ((x*9)/5 + 32), 'F'

Ćwiczenie 13.

Napisz program “oceny.py”, który wczytuje od użytkownika kolejne oceny i:

a) sprawdza czy wprowadzona ocena jest na liście dopuszczalnych na wydziale ocen (jeżeli ocena jest na liście dopuszczalnych na wydziale ocen, dodaje ją na listę otrzymanych ocen)

b) jeżeli wciśnięto sam Enter, oznacza to koniec listy otrzymanych ocen

c) wyświetla wyliczoną dla listy otrzymanych ocen średnią arytmetyczną.

wydzial = range(1,7)
dobre = []
oceny = input("podaj swoje oceny: ")
a = 0
for x in oceny:
    if x not in wydzial: continue
    dobre += [x]
for y in dobre:
    a += y
print "Twoja średnia ocen to", "%5.2f" % (float(a)/len(dobre))

Ćwiczenie 14.

Napisz program “tryg.py”, który wczyta od użytkownika wielkość kąta w stopniach i wyświetli wartość czterech podstawowych funkcji trygonometrycznych (sin, cos, tg, ctg) o ile dla danego kąta jest to możliwe.

from math import *
kat = input("Podaj wielkość kąta w stopniach: ")
print "%+5.3f" % sin(radians(kat))
print "%+5.3f" % cos(radians(kat))
if radians(kat)%(pi/2)== 0:
    print "nie ma takiego tangensa"
else:
    print "%+5.3f" % tan(radians(kat))
if radians(kat)%(pi)== 0:
    print "nie ma takiego cotangensa"
else:
    print "%+5.3f" % (1/tan(radians(kat)))

Ćwiczenie 15.

Napisz program “lotto.py”, który wyświetli 6 losowych i nie powtarzających się liczb z zakresu od 1 do 49.

from random import randint
lista = []
def lotto():
    a = randint(1,49)
    if a not in lista:
        lista.append(a)
    else:
        lotto()
for x in range(6):
    lotto()
print lista

Ćwiczenie 18.

Zdefiniuj funkcję “avg”, która dla dowolnej liczby parametrów zwróci ich średnią arytmetyczną (lub 0 dla 0 parametrów).

def avg(*a):
    y=0
    for x in a:
        y+=x
    return a and y/float(len(a))or 0

Ćwiczenie I.

Napisz program „liczby_slownie2.py”, który dla wprowadzonej liczby dziesiętnej (z zakresu 1-1999) wyświetli jej wartość zapisaną słownie.

liczby = {0:"zero",1: "jeden ",2:"dwa ",3:"trzy ",4:"cztery ",5:"pięć ",6:"sześć ",
          7:"siedem ",8:"osiem ",9:"dziewięć ",10:"dziesięć ",11:"jedenaście ",12:"dwanaście ",13:"trzynaście ",14:"czternaście ",
          15:"piętnaście ",16:"szesnaście ",17:"siedemnaście ",18:"osiemnaście",19:"dziewiętnaście",40:"czterdzieści",
          100:"sto ",200:"dwieście ",1000:"tysiąc ", 30: "trzydzieści ", 20: "dwadzieścia ",50: "pięćdziesiąt ",
          60: "sześćdziesiąt ",70: "siedemdziesiąt ",80: "osiemdziesiąt ",90: "dziewięćdziesiąt ",
          300: "trzysta ", 400: "czterysta ",500: "pięćset ",600: "sześćset ",700: "siedemset ",800: "osiemset ",900: "dziewięćset "}
r = liczby.keys()
r.sort()
r.reverse()
lr = ""
b = []
def fct(n):
    r = liczby.keys()
    r.sort()
    r.reverse()
    lr = ""
    for i in r:
        while i <= n:
            lr += liczby[i]
            n -= i
            break
    b = str(lr).rstrip('zero')
    return b
x = input("Podaj liczbę całkowitą:")
print  fct(x)

2 thoughts on “Kurs Pythona Swachy – Ćwiczenia

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.