Python kodu rm1 sayısı kadar print ediyor

mehanil

Centipat
Katılım
23 Temmuz 2021
Mesajlar
100
Python:
import time
import random
def s2():
    print("---------------------------------------------------------------------------------")
    sh0 = input("Onlara ateş etmek için 1'e ve ardından Enter'a bas.")
    try:
        sh0 = int(sh0)
        if sh0 == 1:
            global rm1
            rm1 = random.randint(5,7)
            def s3():
                global rm1
                if rm1 > 0:
                    print("Ateş ettin. Ancak hala askerler var.")
                    rm1 = rm1 - 1
                    sh1 = input("Tekrar ateş etmek için 1'e ve ardından Enter'a bas.")
                    try:
                        sh1 = int(sh1)
                        if sh1 == 1:
                            s3()
                        else:
                            print("Vurularak öldürüldün. Son kayıt noktasından devam edeceksin.")
                            time.sleep(2)
                            s2()
                    except:
                        print("Vurularak öldürüldün. Son kayıt noktasından devam edeceksin.")
                        time.sleep(2)
                        s2()
                if rm1 == 0:
                    print("Hepsini öldürdün. Yoluna devam ediyorsun.")
            s3()
        else:
            print("Vurularak öldürüldün. Son kayıt noktasından devam edeceksin.")
            time.sleep(2)
            s2()
    except:
        print("Vurularak öldürüldün. Son kayıt noktasından devam edeceksin.")
        time.sleep(2)
        s2()
s2()

Kodumu çalıştırdığımda en sonundaki hepsini öldürdün kısmına geldiğinde onu rm1 sayısı kadar print ediyor. Bunun sebebi nedir?
 
Bilmem farkinda misin ama recursion yapiyorsun. Bugunlerde bu bolumde cok garip 'programlar' goruyorum ama bu en gariplerinden biri. Cok soru var.

Senin sorunun cevabi ise rastgele urettigin sayidaki askeri oldurene kadar fonksiyonu tekrar tekrar cagirman.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…