bir uygulama içinde exit() komutu kullanınca, o uygulama kapanır. ve program o ana kadar öğrendiği bildiklerini unutur.
programa onu geri hatırlatmanın yolu ise, hariçteki bir dosyada, state (durum) bilgisi saklamak.
state degiskeni, her aşamada güncellenebileceği gibi, sadece içinde çalıştığı class'i da tutabilir. tam olarak sizin ne yapmak istediğinize bağlı.
bu durumda, tavsiyem:
- state.txt diye bir dosya oluşturun.
- çağırılan her methodu, her komutu (artık ne yapmak istiyorsanız) onun bilgisini state dosyasının içinde
tutun.
- program yeniden başladıktan sonra, önce state dosyasına baksın. varsa önceden kaldığı yere "goto" komutu ile yönlensin. state boş işe, baştan başlasın. Böylece programa nereden başlamasını öğretmiş olursunuz.
bkz: python label kullanımı
bkz: python goto kullanımı
bkz: python ini dosyası kullanımı
bkz: python class yapısı
bkz: python method yapısı
goto yükleme:
pip3 install goto-statement
goto kullanma örneği:
class goto1(Exception):
pass
class goto2(Exception):
pass
class goto3(Exception):
pass
def loop():
print 'start'
num = input()
try:
if num<=0:
raise goto1
elif num<=2:
raise goto2
elif num<=4:
raise goto3
elif num<=6:
raise goto1
else:
print 'end'
return 0
except goto1 as e:
print 'goto1'
loop()
except goto2 as e:
print 'goto2'
loop()
except goto3 as e:
print 'goto3'
loop()