5. NALOGA [15 T]Sestavi naslednje preproste funkcije. Predpostavi, da so morebitni potrebni moduli uvoženi -če potrebujemo modul m je ta uvožen z ukazom import m.(1) [5 T] Funkcijo st_praznih(datoteka), ki vrne število praznih vrstic v tekstovni datotekiz imenom datoteka.(2) [5 T] Funkcijo v_rikverc(besedilo), ki sprejme besedilo, v katerem so posameznebesede ločene s piko, in vrne besedilo z obrnjenim vrstnim redom besed. Za besedilo"danes.je.lep.dan" bo funkcija torej vrnila niz "dan.lep.je.danes".(3) [5 T] Funkcijo pravilni_nkotnik, ki sprejme želvo zelva, število kotov n (kjer je n > 3)ter dolžino stranice a in nariše pravilni n-kotnik
Question
- NALOGA [15 T]Sestavi naslednje preproste funkcije. Predpostavi, da so morebitni potrebni moduli uvoženi -če potrebujemo modul m je ta uvožen z ukazom import m.(1) [5 T] Funkcijo st_praznih(datoteka), ki vrne število praznih vrstic v tekstovni datotekiz imenom datoteka.(2) [5 T] Funkcijo v_rikverc(besedilo), ki sprejme besedilo, v katerem so posameznebesede ločene s piko, in vrne besedilo z obrnjenim vrstnim redom besed. Za besedilo"danes.je.lep.dan" bo funkcija torej vrnila niz "dan.lep.je.danes".(3) [5 T] Funkcijo pravilni_nkotnik, ki sprejme želvo zelva, število kotov n (kjer je n > 3)ter dolžino stranice a in nariše pravilni n-kotnik
Solution
Za rešitev te naloge bomo sestavili tri funkcije v Pythonu.
(1) Funkcija st_praznih(datoteka) bo prebrala datoteko vrstico po vrstico in preverila, ali je vrstica prazna. Če je, bo povečala števec praznih vrstic.
def st_praznih(datoteka):
st_praznih_vrstic = 0
with open(datoteka, 'r') as f:
for vrstica in f:
if vrstica.strip() == '':
st_praznih_vrstic += 1
return st_praznih_vrstic
(2) Funkcija v_rikverc(besedilo) bo razdelila besedilo na besede, obrnila vrstni red besed in jih združila nazaj v besedilo.
def v_rikverc(besedilo):
besede = besedilo.split('.')
besede = besede[::-1]
return '.'.join(besede)
(3) Funkcija pravilni_nkotnik(zelva, n, a) bo uporabila modul turtle za risanje pravilnega n-kotnika.
import turtle
def pravilni_nkotnik(zelva, n, a):
kot = 360 / n
for i in range(n):
zelva.forward(a)
zelva.right(kot)
Za uporabo funkcije pravilni_nkotnik ustvarite želvo in jo podajte kot argument funkciji skupaj s številom kotov in dolžino stranice.
Similar Questions
3. NALOGA [12 T]Sestavi izraze (ne stavke), ki imajo naslednje vrednosti: (če ne znaš sestaviti izraza, lahko zapolovično število točk napišeš zaporedje ukazov, ki poskrbijo, da je v spremenljivki rezultat po-tem ustrezna vrednost). Predpostavi, da so morebitni potrebni moduli uvoženi - če potrebujemomodul m je ta uvožen z ukazom import m.(1) [3 T] Niz, ki vsebuje naključno števko, na primer "4".(2) [3 T] Število različnih znakov v nizu niz. Pri tem ločimo med malimi in velikimi tiskanimičrkami. Za niz = "Ananas", bo to 4.(3) [3 T] Povprečje vseh vrednosti v nepraznem slovarju slovar. Predpostavite, da so vsevrednosti številske.(4) [3 T] Tabelo logičnih vrednosti, ki povejo, ali so istoležni elementi tabele tab_st ne-negativni. Za tab_st = [3, -1, 0, 2], naj ima torej vrednost [True, False, True,True]
Sestavi izraze (ne stavke), ki imajo naslednje vrednosti. Če ne znaš sestaviti izraza, lahko zapolovično število točk napišeš zaporedje ukazov, ki poskrbijo, da je v spremenljivki rezultatpotem ustrezna vrednost. Predpostavi, da so potrebni moduli uvoženi (če je potrebno uporabitimodul magic, lahko predpostavite, da je uvožen z ukazom import magic).1. [3 T] Za dano tabelo števil xs, niz oblike "Največji element tabele <xs> je enak<max>.", kjer je <max> največji element tabele <xs>.2. [3 T] Za dan niz s, naključni znak v tem nizu.3. [3 T] Za dan slovar d, katerega ključem pripadajoče vrednosti so nizi, število različnihnizov.4. [3 T] Za dani števili n in m, niz ki ga dobimo, če število m zapišemo n-krat (primer za n=3in m=8 dobimo "888").1
Matevž se pri svojem delu pogosto srečuje s podatki, ki so v datoteko zapisani v oblikitabele. Da mu ne bo treba kode za branje pisati vedno znova, mu pomagaj napisatifunkcijo preberi_tabelo(ime_datoteke, locilo), ki sprejme ime datoteke s tabelo teropcijski argument locilo, ki pove, kateri znak razmejuje stolpce. Privzeto ločilo naj bovejica.Prva vrstica datoteke predstavlja imena stolpcev, vsaka naslednja pa en podatek iz tabele.Funkcija naj vrne seznam slovarjev, kjer je vsaka vrstica tabele predstavljena s slovarjem,katerega ključi so imena stolpcev, vrednosti pa ustrezne vrednosti iz tabele.Predpostavite, da datoteka zagotovo obstaja in je pravilno sestavljena.Zgled:Če imamo podano datoteko podatki.csv:0 Vpisna š tevilka , Ime , Priimek , Program , Letnik1 1741651 , Jan , Kosec , Matematika ( UNI ) ,22 1741652 , Maja , Avsec , Prakti č na matematika ( VS Š ) ,33 1741653 , Janja , Lukan , Finan č na matematika ( MAG ) ,14 1741654 , Lan , Ž ibert , Uporabna statistika ( MAG ) ,2naj da klic funcije preberi_tabelo(podatki.csv) naslednji rezultat:2>>> preberi_tabelo ( ’ podatki . csv ’)[{ ’ Ime ’: ’Jan ’ ,’ Letnik ’: ’2 ’ ,’ Priimek ’: ’ Kosec ’ ,’ Program ’: ’ Matematika ( UNI ) ’ ,’ Vpisna š tevilka ’: ’1741651 ’} ,{ ’ Ime ’: ’ Maja ’ ,’ Letnik ’: ’3 ’ ,’ Priimek ’: ’ Avsec ’ ,’ Program ’: ’ Prakti č na matematika ( VS Š ) ’ ,’ Vpisna š tevilka ’: ’1741652 ’} ,{ ’ Ime ’: ’ Janja ’ ,’ Letnik ’: ’1 ’ ,’ Priimek ’: ’ Lukan ’ ,’ Program ’: ’ Finan č na matematika ( MAG ) ’ ,’ Vpisna š tevilka ’: ’1741653 ’} ,{ ’ Ime ’: ’Lan ’ ,’ Letnik ’: ’2 ’ ,’ Priimek ’: ’Ž ibert ’ ,’ Program ’: ’ Uporabna statistika ( MAG ) ’ ,’ Vpisna š tevilka ’: ’1741654 ’}]Če bi v datoteki podatki.csv vse vejice nadomestili s podpičji pa bi funkcijo poklicali ta-kole preberi_tabelo(’podatki.csv’, locilo=’;’). Funkcija bi v tem primeru vrnilaenak rezultat kot v zgledu.
Sestavi funkcijo racun, ki sprejme ime datoteke, ki jo tvori več vrstic. V vsaki vrstici jezapisan (pravilno!) račun. Funkcija naj zapiše te račune skupaj z rezultati na novo dato-teko z imenom rezultati.txt tako, kot kaže zgled. Namig: vrednost izraza, zapisanegakot niz, izračunamo s pomočjo funkcije eval, npr. eval("1 + 3 - 10 * (9 // 5)")vrne -6.Vsebina datoteke "primer1.txt":7 - 83 * 4.51 + 3 - 10 * (9 // 5)>>> racun("primer1.txt")>>>Vsebina datoteke "rezultati.txt":7 - 8 = -13 * 4.5 = 13.51 + 3 - 10 * (9 // 5) = -6
Želimo napisati funkcijo, ki bo poiskala vse datoteke v mapi pot in njenih podmapah, katerihvelikost presega max_velikost. Funkcija naj vrne tabelo tabelo parov poti do velikih datotekin njihovih velikosti, urejeno po velikosti. Dopolni funkcijo na naslednji strani, da bo delovalakot kaže zgled:Zgled:Za naslednjo datotečno strukturo:mapaword.exe (499)kodazelva.py (256)podmapapodmapasvet.py (512)slikeselfie.jpg (999)videoposnetkitekma.mp4 (2048)test.mp4 (605)video.mp4 (1024)bo funkcija delovala tako (zaradi pregledno-sti je izhodna tabela razbita na posamezne vr-stice):>>> velike_datoteke ( " mapa " , 500)[( " mapa / videoposnetki / tekma . mp4 " , 2048) ,( " mapa / videoposnetki / video . mp4 " , 1024) ,( " mapa / slike / selfie . jpg " , 999) ,( " mapa / videoposnetki / test . mp4 " , 605) ,( " mapa / podmapa / podmapa / svet . py " , 512)]def velike_datoteke ( pot , max_velikost ):tab_velikosti =for dat in :celotna_pot =ifvelikost =if :tab_velikosti . (( celotna_pot , velikost ))else :rek =tab_velikosti . ( rek )return sorted ( tab_velikosti , ,)
Upgrade your grade with Knowee
Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.