Naloge z rešitvami
Vse naloge se da lepo rešiti z izpeljenimi seznami in izpeljanimi množicami. Zanki for in while sta danes prepovedani.
Vsota kvadratov
Izračunajte vsoto kvadratov prvih stotih naravnih števil.
12 + 22 + ... + 1002 = ?
Vsota je 338350.
Kakšna pa je vsota kvadratov vseh palindromnih števil, manjših od 1000?
12 + 22 + ... + 3232 + 3332 + 3432 + ... + 9992 = ?
Vsota je 33454620.
Zamenjava črk
Napišite funkcijo subs(niz, polozaj), ki premeče črke v nizu glede
na podane nove položaje.
>>> subs("komar", "23401")
'marko'
Povprečje in standardni odklon
Napišite funkciji, ki izračunata povprečje in standardni odklon populacije.
>>> xs = [183, 168, 175, 176, 192, 180]
>>> mean(xs)
179.0
>>> std(xs)
7.43863786814
Morsejeva abeceda
Napišite funkcijo, ki pretvori sporočilo v Morsejevo abecedo in funkcijo, ki naredi nasprotno.
>>> txt2morse('TE A')
'- . .-'
>>> txt2morse('HELLO WORLD')
'.... . .-.. .-.. --- .-- --- .-. .-.. -..'
>>> morse2txt('.... . .-.. .-.. --- .-- --- .-. .-.. -..')
'HELLO WORLD'
Če ste pozabili, ali pa morda nikoli niste znali, Morsejeva abeceda zgleda takole:
'A': '.-',
'B': '-...',
'C': '-.-.',
'D': '-..',
'E': '.',
'F': '..-.',
'G': '--.',
'H': '....',
'I': '..',
'J': '.---',
'K': '-.-',
'L': '.-..',
'M': '--',
'N': '-.',
'O': '---',
'P': '.--.',
'Q': '--.-',
'R': '.-.',
'S': '...',
'T': '-',
'U': '..-',
'V': '...-',
'W': '.--',
'X': '-..-',
'Y': '-.--',
'Z': '--..',
'1': '.----',
'2': '..---',
'3': '...--',
'4': '....-',
'5': '.....',
'6': '-....',
'7': '--...',
'8': '---..',
'9': '----.',
'0': '-----',
ISBN
Napišite funkcjio, ki preveri ali je podan ISBN veljaven.
>>> valid('0306406152'), valid('0553382578'), valid('0553293370'), valid('912115628X') # primer veljavnih ...
(True, True, True, True)
>>> valid('03064061522'), valid('1553382578'), valid('91211562811') # ... in neveljavnih ISBN.
(False, False, False)