Etkinlik 1: Palindrom Sayı

Palindrom, tersten ve düzden aynı şekilde okunan bir kelime, sayı, ifade veya başka bir karakter dizisidir; örneğin madam veya racecar.

Kısa rakamlar (11/11/11 11:11) ve uzun rakamlar (02/02/2020) kullanan tarih/saat damgaları da dahil olmak üzere sayısal palindromlar da vardır. Örneğin; 22 Şubat 2022 Salı günü, soldan sağa veya tam tersi okunabildiği için bir palindrom gün olarak kabul edilir (gg-aa-yyyy biçiminde 22022022).

Giriş olarak bir string alan ve stringin palindrom olup olmadığını kontrol eden bir program oluşturalım.

Hadi Kodlayalım

  1. Sprite nesnesini başlat.
    sprite = Sprite('Tobi')
  2. N adında bir parametreye sahip isPalindrom() adında bir fonksiyon ekleyin .
    def isPalindrome(A):
  3. l’ yi dizenin uzunluğuna, p’yi indeksi sağdan izleyen değişkene atayın , p’yi -1 uzunluğuna ayarlayın. Ve indeks değişkenini while döngüsünde indeksin önden konumunu izleyecek şekilde ayarlayın.
    l = len(A) p = l-1 index = 0
  4. While döngüsünü < p koşuluyla başlatın .
    while (index < p):
  5. İndeks ve p değişkenlerinin eşit olup olmadığını kontrol edin . Eşitse, indeksi 1 artırın ve p’yi 1 azaltın.
    if(A[index] == A[p]):
    index = index + 1 p = p - 1
  6. Eğer koşul yanlışsa, o zaman dize bir palindrom değildir. Mesajı görüntüle ve fonksiyonu yanlış olarak döndür.
    else:
    sprite.say(A + " is not a palindrome", 2)
    return False
  7. Döngü bittiğinde tüm karakterleri kontrol etmiş oluruz ve bir palindrom dizimiz olur. Mesajı görüntüler ve True değerini döndürür.
    sprite.say(A + " is a palindrome", 2)
    return True
  8. Test koşullarını ekleyin ve oluşturulan fonksiyonu kontrol edin.
    sprite.say("Case 1: MADAM", 1)
    isPalindrome("MADAM")
    sprite.say("Case 2: TOWER", 1)
    isPalindrome("TOWER")

Tam program şu şekildedir:

sprite = Sprite('Tobi')

def isPalindrome(A):
  l = len(A)
  p = l-1
  
  index = 0
  
  while (index < p):
    if(A[index] == A[p]):
      index = index + 1
      p = p - 1 
      
    else:
      sprite.say(A + " is not a palindrome", 2)
      return False
    
  sprite.say(A + " is a palindrome", 2)
  return True

sprite.say("Case 1: MADAM", 1)
isPalindrome("MADAM")

sprite.say("Case 2: TOWER", 1)
isPalindrome("TOWER")

Çıktı

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir