6 satırlık bir kod hakkında açıklama rica ediyorum


#1

python’da yeniyim. aşağıdaki kod ne iş yapıyor anlayamadım. anlatan olursa çok sevinirim. şimdiden teşekkürler.

done = False
while not done:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            done = True

pygame.quit()


#2

done=False
while not done:#done =False olduğu sürece döngü devam ediyor
    for event in pygame.event.get():#Bura pygame modülü galiba klavyeden alınan değerlerle ilgili emin değilim
        if event.type == pygame.QUİT:#Bu satır olmadan pygame çalıştırırsan kapatmakta zorluk yaşarsın.(köşedeki x işaretine basınca program donar)
            done=True#done True oluyor burda döngü bitiyor.

pygame.quit()#Pygame program bitiyor


#3

done değişkeni hangi şartta true oluyor? kodun sonunda zaten pygame.quit() var iken böyle bir döngüye neden ihtiyaç duyuluyor?


#4

Eğer çıkan pencerenin sağ üst bölümdeki x işaretine basarsanız done=True oluyor
done True olunca program kapanmıyor sadece donguden çıkıp döngünün dışındaki pygame.quit() işlemini gerçekleştiriyor.
(Telefondan yazıyorum o yüzden yanlış yazmış olabilirim)


#5

çok teşekkür ederim. peki şu şekilde yazsak da aynı şeyi yapmaz mı?:

for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()

#6

Böyle olursa 1 kere anlık bakar ama while döngüsüne alıp sürekli kontrol yapar


#7

çok teşekkürler. bu yapıları anlayabilmek için tekrar bir sorum olacak. şu şekilde yapılırsa da aynı işlevi görür mü?

while True:
    for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()

#8

Biraz garip olacak denemedim ama sanırım Öyle yaparsanız hata alırsınız. Kapata basınca çünkü döngü devam eder olmayan şeyleri kontrol etmeye çalışır. bir deneyin. Bilmiyorum açıkçası :slight_smile: