Printa lista på alla definierade funktioner
Hej, jag vill samla ihop alla mina småprogram till ett och låta personen välja. Första steget tycker jag är att printa namnet på alla funktioner jag har skrivit, hur gör jag det?
Ligger alltså allt i samma modul då? Du kan använda funktionen 'dir' med modulen som argument.
Samma .py fil ja. Hur menar du?
Jag hittade detta, men det är nog med python 2, kan du översätta?
Det här kan jag inte på rak arm.
Det går säkert att göra nåt bra, men till att börja med föreslår jag att du håller reda på vilka funktioner det finns för hand.
Ja, jag har bara tre små program, jag kan skriva själv. Det var lite väl ambitiöst kanske
Tadaa
Skrev det felfritt på första försöket faktiskt.
Hur gör jag så att man kan komma tillbaka och prova flera, och skriva "exit" när de är klara?
Lägg en till while-loop runt allting, eller modifiera den du har.
Jag skrev
while val != "exit":
Och sen
if val == "exit"
print (Tack för besöket, hejdå!)
Och det verkar fungera, var det det du menade?
EDIT: näeej, nu loopar den det första valet man gjorde, och man blir aldrig tillfrågad om man vill exit eller prova ett annat program
EDIT: jag fixade det själv: kolla här:
Ser det smidigt ut?
1) Du behöver inte testa om det är "exit" på slutet.
2) Det kommer att kännas osmidigt om du behöver ändra prompten (frågan som användaren får). Nu står den på fyra ställen.
Din lösning fungerar men har en del kod som gör den aningen osmidig. Laguna pekar ut de största osmidigheterna. Det som gör koden osmidig för framtida utökningar är att du dessutom behöver ändra utskrift och lägga till fler elif-satser om du lägger till fler funktioner i din pythonsamling.
Följande kod gör det möjligt att lägga till funktioner utan att göra övriga ändringar i koden. Den knepigaste delen är raderna 13-15 som samlar namn och address på alla funktioner i denna modul (__name__).
Oj vad avancerat...
Rad 17: while vad är true? Vad ska vara true?
Ja, raderna 13-15 är avancerade och inget man vanligtvis lär sig tidigt i sin programmeringsutbildning. Resten är ganska ordinär Python.
'while True:' betyder att villkoret för att påbörja loopen är sant. Loopen ska sedan fortsätta till dess den avbryts. Den avbryts med 'break' på rad 23 om användaren skrivit exit.