> For the complete documentation index, see [llms.txt](https://bytistan.gitbook.io/baytistan/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bytistan.gitbook.io/baytistan/kedi-problemi/seviye-3-ayni-anda-yana.md).

# Seviye 3: Aynı Anda Yana

## Amaç

`settings.py` dosyasına eklediğin ASCII kediyi,  tüm satırları aynı anda sağa doğru kaydırarak terminalde yazdırmalısınız. Her satır, belirli bir hızla sağa doğru hareket edecek ve en sağa ulaştığında program sonlanıp, ekranda kedi kalmalı.

### **Yapmanız Gerekenler**

1. Bu listedeki tüm satırları aynı anda sağa kaydıracak bir program yazın.
2. Her bir adımda ekranı temizleyin ve satırları bir adım sağa kaydırarak yeniden ekrana yazdırın.
3. Her kaydırma işlemi arasında 0.02 saniyelik bir gecikme ekleyin (Python'da `time.sleep()` fonksiyonunu kullanarak zaman gecikmesi ekleyebilirsin).

### **Beklenen Davranış:**

<figure><img src="https://1592666604-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fy0QTCliryu3DkL9lOYgq%2Fuploads%2F2GGThIXYIkLMdsviuO5W%2Fezgif.com-video-to-gif-converter(3).gif?alt=media&amp;token=d49070d8-db04-4dc7-b988-996a90fa5d41" alt=""><figcaption><p>1.0</p></figcaption></figure>

* Tüm satırlar, aynı anda sağa doğru hareket etmeye başlamalı.
* Satırlar terminalde sürekli hareket etmeli ve sağa ulaştıklarında tekrar baştan başlayarak kaymaya devam etmelidir.

## Problemin Çözümü

İşler kızışmaya başladı.

<details>

<summary>Cevap</summary>

```python
def print_cat():
    # Listedeki ilk elemanın uzunluğu kadar dönen bir döngü
    for r in range(0,len(ascii_art[0])):
        os.system("clear") # Başlarken terminali temizliyoruz
        d = [] # Boş bir liste
        
        """Listedeki bütün elemanlar yukarıdaki r değişkenine kadar
        bölünüp, d listesine atılıyor."""
        for row_index in range(0,len(ascii_art)):
            d.append(ascii_art[row_index][:r])
        
        # Liste string bir hale çevrilip yazdırılıyor.
        new_line = "\n"
        print(new_line.join(d))
        time.sleep(0.02)
```

</details>

### Çalışma Mantığı

Listedeki bütün elemanlar aynı anda sağa doğru ilerleyeceği için listedeki ilk elemanın uzunluğu kadar dönen bir liste oluşturuyorum.&#x20;

İç içe iki döngüm var ikinci döngüde ise, listedeki bütün elemanları `r` değişkenine kadar bölüyorum.

Sonrasında yazdırıp animasyon hissiyatı yaratması için biraz bekliyorum.
