Forum huvudsida -> Programmering -> Python problem
Sidor: 1
lalindb | 22:40 - 17:e April 2007 | Post #1 | |
Medlem Inlägg: 6 Skicka PM |
Hej! Jag sitter med ett nästan färdigt filofaxprogram men jag lyckas inte skapa funktionerna bläddra framåt och bläddra bakåt. Mina "nya sidor" läggs in i en dictionary. Väljer jag att visa alla sidor i min filofax kan det se ut som nedan. 17 maj: Norges nationaldag 2 november: Pappa fyller år 1 januari: Adjöss och tack för fisken... Men jag vill kunna få mina items i någon slags ordning där 1 januari ligger före 17 maj osv. Jag har valt att inte jobba med klasser när jag kodat. Någon som orkar komma med tips på hur jag sorterar en dictionary? //Lars |
ozamosi | 00:18 - 18:e April 2007 | Post #2 | |
Administratör Inlägg: 1129 Skicka PM |
En dictionary är per definition osorterad, eftersom den bara är mappning mellan nyckel och värde. istället kan du skriva såhär: en_lista = element, din_dict[element for element in din_dict] Listor kan man sortera med sort()-funktionen, dvs en_lista.sort() Den kommer att sortera baserat på nycklarna i första hand, och på värdena andra hand. Om du har dina datum som strängar kommer även det här bli fel, eftersom "februari" kommer före "januari" då f kommer före j, och "1 december" självklart kommer före "2 januari", eftersom 1 kommer före 2. Det kan man lösa genom att använda en speciell datatyp internt (kanske en lista - [månadsnummer, dag]) som man gör om till en sträng först när man skriver ut den, och som sorterar sig rätt. ------------------------- Ljusblå |
lalindb | 11:47 - 18:e April 2007 | Post #3 | |
Medlem Inlägg: 6 Skicka PM |
ozamosi kolla in koden som jag lagt in i forumet. Jag har skrivit några rader vid bläddrafunktionen och får programmet att skriva ut en aktuell sida om jag väljer 5). Men jag vill att aktuell sida kommer upp automatiskt och att omman väljer funktionen 5) så bläddrar man ett steg eller "sida" framåt i filofaxen. Vilken kod och vart ska den skrivas in någonstans? Hälsningar, Lars |
Sidor: 1
Forum huvudsida -> Programmering -> Python problem
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-07 18:57
Vecka: 19
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.