Hoe sys.exit() te gebruiken in Python

Ik probeer het programma te vertellen om af te sluiten als roll == 1 maar er gebeurt niets en het geeft me alleen een foutmelding als ik sys.exit()


Dit is het bericht dat wordt weergegeven wanneer ik het programma start:

Traceback (most recent call last):
 line 33, in <module>
    sys.exit()
SystemExit

Antwoord 1, autoriteit 100%

Ik denk dat je kunt gebruiken

sys.exit(0)

Je kunt het hier in het python 2.7-document bekijken :

Het optionele argument arg kan een geheel getal zijn dat de exit-status geeft (standaard nul), of een ander type object. Als het een geheel getal is, wordt nul beschouwd als geslaagde beëindiging en elke waarde die niet nul is wordt beschouwd als abnormale beëindiging door shells en dergelijke.


Antwoord 2, autoriteit 33%

sys.exit() genereert een SystemExit-uitzondering waarvan u waarschijnlijk aanneemt dat het een fout is. Als u wilt dat uw programma SystemExit niet verhoogt maar netjes terugkeert, kunt u uw functionaliteit in een functie inpakken en terugkeren van plaatsen die u van plan bent te gebruiken sys.exit


Antwoord 3, autoriteit 17%

je hebt sys niet geïmporteerd in je code, noch heb je de () gesloten bij het aanroepen van de functie…
probeer:

import sys
sys.exit()

Antwoord 4, autoriteit 8%

Met 2.7:

from functools import partial
from random import randint
for roll in iter(partial(randint, 1, 8), 1):
    print 'you rolled: {}'.format(roll)
print 'oops you rolled a 1!'
you rolled: 7
you rolled: 7
you rolled: 8
you rolled: 6
you rolled: 8
you rolled: 5
oops you rolled a 1!

Verander dan de “oeps”-print in een raise SystemExit


Antwoord 5, autoriteit 8%

In combinatie met wat Pedro Fontez een paar keer eerder zei, leek het alsof je de sys-module in eerste instantie nooit aanriep, en het lukte je ook niet om de vereiste () aan het einde van sys.exit te plakken:

dus:

import sys

en wanneer u klaar bent:

sys.exit()

LEAVE A REPLY

Please enter your comment!
Please enter your name here

one × three =

Other episodes