Klavyeden Girilen Kelimeyi Kelebek Deseninde Yazdıran Python Uygulaması

Kodla Büyü

hakimiyet001

Seçkin Üye
Seçkin Üye
Mesajlar
435
Klavyeden Girilen Kelimeyi Kelebek Deseninde Yazdıran Python Uygulamasını python p4ogramlama Dilinde anlatmak istiyorum. Nasıl anlatabilirim fikir verieseniz
 
YANİ İÇ İÇE 2X2 4 DÖNGÜ OLUR GİBİ.. ÜNİ YILLARIM AHH.. LİSEDE DE İŞE YARAR AMA O KADAR ADIMLI İŞİ KAVRAMA ZORR...
 
A ......... A
A L ....L A
A L İ L A
A L ....L A
A ........... A

gibi. Arada noktalar olmayacak. Boşluk olacak
 
Kod Açıklaması:
Bu kod, "ALİLA" gibi bir metin girdisi için ters piramit deseni oluşturan bir Python fonksiyonu tanımlar. Desen, her satırda önde boşluklar, karakterler ve orta boşluklar kullanarak oluşturulur.
Fonksiyon:
Python
def print_pattern(text):
"""Verilen metin girdisi için deseni yazdırır.

Args:
text: Girdi metni.
"""
# Gerekli boşluk sayısını hesaplar
num_spaces = len(text) - 1

for i in range(len(text)):
# Önde boşlukları yazdırır
print(" " * num_spaces, end="")

# Karakterleri ve orta boşlukları yazdırır
print(text, end="")
if i != len(text) - 1:
print(" " * (2 * i), end="")
print(text[len(text) - i - 1], end="")

# Bir sonraki satır için boşlukları azaltır
num_spaces -= 2

# Bir sonraki satıra geçer
print()

Fonksiyon Çalışma Adımları:

  1. Boşluk Sayısı Hesaplama:
    • num_spaces, metin uzunluğundan 1 çıkarılarak hesaplanır. Bu, en üst satır için gerekli önde boşluk sayısını verir.
  2. Karakterlere Yürüyüş:
    • Bir for döngüsü, metin stringindeki her karakter üzerinden dolaşır.
  3. Önde Boşluklar Yazdırma:
    • Benzer şekilde, num_spaces önde boşluklar oluşturmak için çarpım kullanılarak yazdırılır.
  4. Karakterler ve Orta Boşluklar Yazdırma:
    • Mevcut karakter (text) ve ayna görüntüsü (text[len(text) - i - 1]) yazdırılır.
      [*]Koşullu yazdırma, yalnızca i son karakter değilse ortadaki boşlukların eklenmesini sağlar.
      [*]Ortadaki boşluk sayısı 2 * i kullanılarak hesaplanır. Bu, piramit şekli için istenen boşluğu oluşturur.

    [*]Boşlukları Azaltma:
    • Her satırdan sonra, num_spaces bir sonraki satırlarda önde boşluk sayısının azalmasını sağlamak için 2 azaltılır.
    [*]Bir Sonraki Satıra Geçme:
    • Bir sonraki satıra geçmek için yeni bir satır karakteri (\n) yazdırılır.
    [*]Fonksiyon Çağırma:
    • print_pattern fonksiyonu, "ALİLA" girdi metniyle çağrılır.

Çıktı:
A A
A L L A
A L İ L A
A L L A
A A

Bu kod, boşluk hesaplama ve karakter yazdırma mantığını, ters piramit desenini boşluklarla elde etmek için değiştirir.


Kaynak: Gemini
 
hocam belki dersiniz için faydası olur. Bu sitede güzel alıştırmalar var kendi hızında öğrenme ile öneri ve açıklamalar içeriyor alıştırmalarda yönlendiriyor. ingilizceniz yeterli değise tarayıcıda translate eklentisi kullanabilirsiniz. Yalnız eklenti açıkken kod yazarsanız imleç kayabiliyor kodları yazarken eklentiyi kapatırsınız.
https://futurecoder.io/course/#toc
 
text=input("ENTER TEXT=")
cycle=round(((len(text)/2)+0.1)) #0.5 ---> round() üste yuvarlamaz.
print(cycle)
for i in range(1,cycle):
print(text[:i]+" "*(len(text)-i*2)+text[(len(text)-i):])
print(text)
for i in range(cycle-1,0,-1):
print(text[:i]+" "*(len(text)-i*2)+text[(len(text)-i):])



Bunu daha kolay anlatırsın hocam.
 
Geri
Üst