2013-06-15 1 views
-5

J'essaie de faire une machine de mesure avec python, mais quand j'entre les mesures, ça continue avec le code, je veux qu'il arrête de traiter une fois que j'obtiens un résultat, voici le code ont fait jusqu'à présent:La fonction 'return'

je en ai besoin d'arrêter après « print math.sqrt(int(h1)**2 + int(h2)**2) »

need = raw_input("What do you need to Use?") 

if need == "pythagoras" or "Pythagoras": 
    pythagoras = raw_input("What side do you Need?") 

if pythagoras == "hypotenuse" or "Hypotenuse": 
    h1 = int(raw_input("Known Side 1")) 
    h2 = int(raw_input("Known Side 2")) 

import math 
print math.sqrt(int(h1)**2 + int(h2)**2) 
+3

Que voulez-vous dire « il va juste avec le code "? – BrenBarn

+0

S'il n'y a pas de code après 'print', le script s'arrêtera automatiquement. Et d'autre part 'return' ne fonctionne que dans une fonction. –

+0

désolé, j'ai plus du code, mais c'est tout ce que j'ai besoin d'afficher parce que c'est pareil, de toute façon, ça passe à la question suivante, mais je veux que ça s'arrête après ce code –

Répondre

4

appel sys.exit immédiatement fin à l'exécution du programme, comme le fait pour return fonctions:

import sys 

... 
print math.sqrt(int(h1)**2 + int(h2)**2) 
sys.exit() 
+0

merci, essayez-le –

+2

N'oubliez pas de 'import sys'. Si vous ne voulez pas importer, utilisez 'raise SystemExit, 0' (c'est pareil). – Maroun

+0

ne fonctionne pas, sera-t-il parce que j'utilise python 2.7.2? –

0

importons n'a pas besoin Sýs, ̶ wıth ExIT (̶) ̶ ̶e̶x̶i̶t̶.̶ peut

Il est plus propre si passe 0 argument (bonne sortie):

sys.exit(0) 
+1

'exit()' est principalement destiné à un usage interactif. Il est défini dans 'site.py' et peut donc être supprimé en fonction de la façon dont la personnalisation du site est effectuée. Notez qu'il est ostensiblement [absent de la documentation] (http://docs.python.org/2/library/functions.html). – user4815162342

+1

Merci pour l'information, j'ai trouvé que je utilisais, mais avec cette information est mieux sys.exit. Mais je pense que c'est mieux dans sys.exit pass 0 argument: sys.exit (0) pour un apprentissage plus propre et meilleur. – JHG