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
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)
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
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?