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.
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!
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++
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!