Knowee
Questions
Features
Study Tools

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

Question

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

...expand
🧐 Not the exact question you are looking for?Go ask a question

Solution

Za rešitev te naloge bomo uporabili Pythonov vgrajen modul za delo z datotekami. Prav tako bomo uporabili funkcijo eval, ki izračuna vrednost izraza, zapisanega kot niz.

Tukaj je korak za korakom rešitev:

  1. Najprej definirajte funkcijo z imenom racun, ki sprejme ime datoteke kot argument.
def racun(ime_datoteke):
  1. Znotraj te funkcije, odprite datoteko za branje z uporabo funkcije open.
    with open(ime_datoteke, 'r') as f:
  1. Preberite vse vrstice datoteke z uporabo metode readlines in jih shranite v seznam.
        vrstice = f.readlines()
  1. Nato odprite novo datoteko z imenom "rezultati.txt" za pisanje.
    with open('rezultati.txt', 'w') as f:
  1. Zdaj zanka čez seznam vrstic, izračunajte rezultat vsakega izraza z uporabo funkcije eval in zapišite izraz skupaj z rezultatom v novo datoteko.
        for vrstica in vrstice:
            rezultat = eval(vrstica)
            f.write(f'{vrstica.strip()} = {rezultat}\n')

Celotna funkcija bi morala izgledati takole:

def racun(ime_datoteke):
    with open(ime_datoteke, 'r') as f:
        vrstice = f.readlines()

    with open('rezultati.txt', 'w') as f:
        for vrstica in vrstice:
            rezultat = eval(vrstica)
            f.write(f'{vrstica.strip()} = {rezultat}\n')

Ta funkcija bo prebrala vsako vrstico iz dane datoteke, izračunala rezultat izraza in zapisala izraz skupaj z rezultatom v novo datoteko "rezultati.txt".

This problem has been solved

Similar Questions

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 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.3

Sestavi razred Krog. Objekt razreda Krog naj ima lastnosti sredisce in polmer.Razredu dodaj:• metodo ploscina, ki vrne ploščino danega kroga,• bralno lastnost obseg, ki vrne obseg danega kroga,• metodo lega, ki za dana dva kroga izpiše, ali se kroga sekata (imata neprazenpresek), se dotikata ali nimata skupnih točk. Namig: govorimo o krogih in nekrožnicah!>>> a = Krog((0, 0), 5)>>> b = Krog((3,-2), 2)>>> c = Krog((8,-2), 3)>>> a.ploscina()78.53981633974483>>> b.obseg12.566370614359172>>> a.lega(b)"Kroga se sekata">>> a.lega(c)"Kroga nimata skupnih točk">>> b.lega(c)"Kroga se dotikata"

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.

Ž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 , ,)

1/3

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.