3 svar
338 visningar
mk4545 195
Postad: 4 dec 2021 01:00

Lista python

 

Hej!

Jag ska göra en packlista för resor i programmeringskursen. Koden ska alltså se ut ungefär såhär:

välkommen till packlista! Välj alternativ

1. skapa ny packlista

2. visa innehåll i lista

3. lägg till saker i lista

4. visa kommande listor

och sen när man väljer alternativ ska man kunna visa listor, lägga till saker, m.m.

Hittills har jag skapat en klass och funktioner tex: def ny_lista men jag har ännu inte kunnat skriva funktionerna för att jag inte vet hur jag ska göra. Jag har även en fil som heter 'datafil.txt' där innehållet i listorna kommer finnas. Hur gör jag om jag vill skapa en ny lista, visa listor eller ändra saker i listor? Jag kan tänka mig att "visa lista" kommer vara något i stilen att man ska läsa från datafilen men tanken är att det ska finnas 3 packlistor och man ska kunna söka på tex gamla stan och så kommer en lista som heter 'gamla stan aktivitet med innehållet i just den listan. Hoppas att ni förstår vad jag menar

Lindehaven 820 – Lärare
Postad: 6 dec 2021 10:08

Du behöver publicera din kod så att vi andra kan se vad du försökt göra och vara mer specifik i din frågeställning. Om du läser en kurs i programmering så kanske din lärare har visat hur man skriver funktioner och hanterar listor?

Några exempel som svar på dina frågor:

travel_pack = []                # Skapa lista
print(travel_pack)              # Visa listan
travel_pack.append('Betalkort') # Lägg till i listan
travel_pack.append('Kniv')
travel_pack.append('Pass')
print(travel_pack)
travel_pack[1] = 'Smörkniv'     # Ändra i listan
print(travel_pack)
travel_pack.remove('Pass')      # Sök och ta bort från listan
print(travel_pack)
del travel_pack[0]              # Ta bort från listan
print(travel_pack)
mk4545 195
Postad: 9 maj 2022 13:33
Visa spoiler

from PACK import PACK #importerar klassen pack

 

def read_file(fil):  #skapar lista med lika många pack-objekt som finns i datafil.txt

    objektlista=[]

    packlista=[]

    filen=open('fil','r',encoding='utf-8')

    packlista=filen.readlines()

 

    for pack in packlista

    splitlist=tv.split(',')

    objekt=PACK(splitlist[0], splitlist[1], int(splitlist[2]), splitlist[3])

    objektlista.append(objekt)

 

    filen.close()

    return objektlista

 

    def write_file(objektlista, infil):

        with open('datafil.txt', 'w', encoding='utf-8') as infil:

            for i in objektlista:

                infil.write(i.str_for_file())

 

    def adjust_PACK_menu():

        while true:

            print('1.Ny packlista'+'\n'+'2. Visa innehåll i listan'+'\n'+'3. Lägg til sak i lista'+'\n'+'4. Visa alla kommande listor')

            try:

                val=ubt(input('Vad vill du göra?'))

                if val<1 or val>4:

                    print('Välj ett giltigt alternativ')

                    else:

                        break

                    except:

                        print('Ogiltigt tecken, vänligen skriv en siffra mellan 1-5')

                        return val

 

                    def select_PACK_menu(objektlista):

                        A=''

                        i=1

                        for pack in objektlista:

                            A+=str(i)+'.'+str(objektlista[i-1])+'\n'

                            i+=1

                            print(A, end=' ')

                            print(str(i)+'avsluta\n')

                            while true:

                                try:

                                    val=int(input('\nVar snäll och välj.\n'))

                                    if val==i:

                                        return none

                                    break

                                elif i<val<=0:

                                    print('\nVälj ett giltigt alternativ\n')

                                    else:

                                        return objektlista[val-1]

                                    except:

                                        print('\nVälj ett giltigt alternativ \n')

 

Såhär ser min kod ut hittills. Datafil.txt är en fil med innehåll i varje lista. Men jag behöver skapa en klass också i en separat fil antar jag? Sen måste jag skriva funktioner tex skapa lista osv

mk4545 195
Postad: 9 maj 2022 18:36

Ska man skapa funktioner som innehåller koden du skickade ovan? Tex skapa lista: jag skapar en funktion med en tom lista ”travel_pack” sen print travel_pack, append osv? 

Svara Avbryt
Close