SO pour mon projet en python, je prends deux entrées dites & b comme valeurs entières. Maintenant, le code va comme:Terminez correctement le script sans message d'erreur dans Spyder
import sys
a = input("enter a")
b = input("enter b")
if a < b:
print(" enter a greater than b and try again")
sys.exit()
# Rest of the code is here
Maintenant, cela fonctionne très bien. Mais crée une instruction supplémentaire
An exception has occurred, use %tb to see the full traceback.
SystemExit
Et je ne le veux pas car l'utilisateur peut penser que le fonctionnement du code n'est pas correct. Donc est-il possible que cette instruction ne soit pas montrée ou toute autre fonction qui sortirait du code sans imprimer autre chose que la ligne que j'ai écrite?
NOTE J'ai essayé exit() mais il continue à exécuter le code en dessous. En outre, j'ai noté this related question mais les approches énumérées là ne fonctionnent pas dans ce cas.
EDIT: J'ajoute un peu plus d'informations. J'ai besoin de mettre cette fonction de sortie dans une fonction définie par l'utilisateur afin que chaque fois que l'utilisateur entre des données erronées, le code appellera cette fonction définie par l'utilisateur et quittera le code. Si je tente de mettre mon code dans une instruction if autre comme
def end():
print("incorrect input try again")
os.exit()
a = input("enter data")
if a < 10:
end()
b = input ("enter data")
if b < 20:
end()
# more code here
Je ne sais pas pourquoi mais je ne peux même définir cette fonction définie par l'utilisateur à la fin car elle soulève l'erreur de la fonction non définie fin(). J'utilise Python avec Spyder sur Windows.
Désolé, je pensais que je l'avais résolu ce problème, mais malheureusement je n'avais pas. Alors s'il vous plaît aidez !! –
@moooeeeep Actuellement, j'utilise Spyder pour coder sur Windows et je n'en ai pas dans mon code. –
Ensuite, cela semble pertinent: https://stackoverflow.com/q/25928377/1025391 (Bien que peut-être un peu désuet car le comportement est légèrement différent apparemment) Vous feriez mieux de déclarer ces informations directement dans votre question. – moooeeeep