Vill göra en start meny i Python

Här diskuteras programmering och utveckling
Användarvisningsbild
ZerQ
Inlägg: 160
Blev medlem: 01 aug 2007, 08:40
OS: Annat GNU/Linux
Ort: Ornsköldsvik
Kontakt:

Vill göra en start meny i Python

Inlägg av ZerQ »

Hej

Jag sitter och gör ett litet program men skulle vilja ha en meny där jag kan välja mellan 3 olika saker.
1. Läsa in en text
2. Skriv ut texten som senast vart inläst
3. Avsluta programmet

Funktionen läsa in en text skall kunna gå att starta igen genom att välja 1 och trycka enter, likaså val nummer 2 och val 3 skall enkelt avsluta programmet bara.

Jag kommer inte på hur jag skall göra detta, finns det någon som kan hjälpa mig i rätt riktning  ;)
Senast redigerad av 1 ZerQ, redigerad totalt 14 gånger.
Säljer massa saker kolla in min hemsida http://www.befta.com
Användarvisningsbild
upnorth
Inlägg: 7100
Blev medlem: 14 jun 2007, 19:43
OS: Linux Mint
Ort: Oslo

SV: Vill göra en start meny i Python

Inlägg av upnorth »

Är väldigt ny i python, men det här borde fungera ;D

Kod: Markera allt

run = true
def main():
   while run:
      print "ZerQ's awsome texthandler!"
      print " "
      print "Menue:"
      print "1. Enter text"
      print "2. Print newest entered text"
      print "3. Quit"
      print " "
      choice = input("Pick SOMETHING FFS: ")
      if choice ==1:
         enterNew()
      else if choice ==2:
         printEntry()
      else if choice ==3:
         run = false
      else:
         print "Don't fuck around!"
Här finns en del läsvärt: http://www.sthurlow.com/python/
Vår kurslitteratur som PDF: http://www.greenteapress.com/thinkpython/thinkCSpy.pdf

Dokumentation på python.org: http://www.python.org/doc/
Senast redigerad av 1 upnorth, redigerad totalt 13 gånger.
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

SV: Vill göra en start meny i Python

Inlägg av Smygis »

Grafiskt? Vilka widgets?
Text? Curses? Hur ser det ut nu?

Jag gissar på text.


#!/usr/bin/env python
# -*- coding: UTF-8 -*-

def readText():
   pass

def printLast():
   pass

def exitApp():
   exit()

def menu():
   meny = {"1": readText, "2": printLast, "3": exitApp}
   for i in ((1, "Läs in text"), (2, "Skriv ut förra"), (3, "Avsluta")):
       print "%i: %s" % i
   val = raw_input("Ditt val: ")
   meny[val]()
   
menu()


Typ något sånt går att göra.
Senast redigerad av 1 Smygis, redigerad totalt 13 gånger.
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Användarvisningsbild
upnorth
Inlägg: 7100
Blev medlem: 14 jun 2007, 19:43
OS: Linux Mint
Ort: Oslo

SV: Vill göra en start meny i Python

Inlägg av upnorth »

Smygis skrev: Grafiskt? Vilka widgets?
Text? Curses? Hur ser det ut nu?

Jag gissar på text.


#!/usr/bin/env python
# -*- coding: UTF-8 -*-

def readText():
    print "hej"

def printLast():
    print "Last"

def exitApp():
    exit()

def menu():
    meny = {"1": readText, "2": printLast, "3": exitApp}
    for i in ((1, "Läs in text"), (2, "Skriv ut förra"), (3, "Avsluta")):
        print "%i: %s" % i
    val = raw_input("Ditt val: ")
    meny[val]()
   
menu()


Typ något sånt går att göra.
FAN vad mycket smidigare allt verkar vara i Python jämfört med C++ :P :D
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

SV: Vill göra en start meny i Python

Inlägg av Smygis »

Nu med felhantering:


#!/usr/bin/python
# -*- coding: UTF-8 -*-

def readText():
    pass

def printLast():
    pass

def exitApp():
    exit()

def menu():
    meny = {"1": readText, "2": printLast, "3": exitApp}
    while True:
        for i in ((1, "Läs in text"), (2, "Skriv ut förra"), (3, "Avsluta")):
            print "%i: %s" % i
        val = raw_input("Ditt val: ")
        try:
            meny[val]()
        except KeyError:
            print "Dåligt val."

menu()


Några saker upnorth:
True och False. inte true och false.
Undvik att använda input annat än om du absolut är säker på om det är den du vill använda, samt har bra felhantering. använd raw_input och bahandla den så det blit det du vill. Tex int(raw_input()). Det är lattare att hantera om något skulle gå galet.
Läs PEP8.
Senast redigerad av 1 Smygis, redigerad totalt 13 gånger.
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Användarvisningsbild
ZerQ
Inlägg: 160
Blev medlem: 01 aug 2007, 08:40
OS: Annat GNU/Linux
Ort: Ornsköldsvik
Kontakt:

SV: Vill göra en start meny i Python

Inlägg av ZerQ »

Ni är bara för underbara, suberba svar och mycket snabbt också kanon  ;D

Jo det är en textbaserad utan widgets, dom kommer senare när jag lär mig mera :)

/ZerQ
Säljer massa saker kolla in min hemsida http://www.befta.com
Skriv svar

Återgå till "Programmering och webbdesign"