2010-11-30 6 views
0

D'abord, j'ai eu un menu me demandant ce que je veux faire, le problème est que même si je sélectionne exit, je dois encore saisir les variables de la fonction addEntry. Comment puis-je faire en sorte que seulement quand j'appelle la fonction addEntry je dois entrer ces variables?Comment retarder l'entrée

date=raw_input('date') 
amount=raw_input('amount') 
desc=raw_input('desc') 
account=raw_input('account') 
def addEntry(date, amount, desc, account): 
     transact=open("transactions.txt", "w") 
     print >>transact, date, amount, desc, account 
     transact.close() 
+2

Tout afficher votre code jusqu'à présent (au moins afficher le menu et où votre extrait précédent s'inscrit dans cela), s'il vous plaît ... –

+0

quelle version de Python vous utilisez? – SilentGhost

Répondre

1

Si je vous comprends bien, vous voulez juste passer les appels à raw_input en addEntry, au lieu de les arguments; ils n'exécutent et invite l'utilisateur pour l'entrée lorsque addEntry est appelé:

def addEntry(): 
    date=raw_input('date') 
    amount=raw_input('amount') 
    desc=raw_input('desc') 
    account=raw_input('account') 
    transact=open("transactions.txt", "w") 
    print >>transact, date, amount, desc, account 
    transact.close() 

Vous pouvez également modifier le code que appelle addEntry il fait les invites juste avant l'appel, au lieu de les faire au début de votre application. Par exemple:

if userClickedAddEntryButton: # <-- I made this up 
    date=raw_input('date') 
    amount=raw_input('amount') 
    desc=raw_input('desc') 
    account=raw_input('account') 
    addEntry(date, amount, desc, account)   
+0

Voilà ce que je cherchais merci –