• 28-08-2019, 11:08:15
    #1
    merhaba arkadaşlar,
    bu kod parçası sayesinde string veya integer farketmeden girdiğiniz değerin palindrom olup olmadığını sorgulayabilirsiniz. üniversitelerde genelde öğrencilere pratik amaçlı sorulan sorulardan biridir.


    palindrom tersten yazılışı aynı olan kelime,sayı vb. ifadelere denilmektedir. örneğin 121 sayısı , yay kelimesi birer palindromdur. kodun içerisinde elimden geldiği kadar açıkladım , bir sorunuz olursa yazabilirsiniz.

    # burakgultekin
    # www.burakgultekin.com.tr
    
    deger = input("deger gir") # degeri aliyoruz
    
    if deger.isdigit(): # digit kontrolu
    numara = int(deger) # inputtan duz aldigimiz icin integera ceviriyoruz
    temp = numara #gecici olarak tutuyoruz
    ters = 0 # tersi hesaplamak için
    while (numara > 0):
    kalan = numara % 10 # 10'a göre modunu aliyoruz
    ters = ters * 10 + kalan
    numara = numara // 10
    if (temp == ters):
    print("numara palindrom")
    else:
    print("numara palindrom değil")
    else:
    test = str(deger) # degeri stringe ceviriyoruz
    if deger == test[::-1]: # esitligin saginda aldigimiz stringi ters ceviriyoruz
    print("palindrom")
    else:
    print("palindrom değil")
    kaynak : ​https://www.burakgultekin.com.tr/python/python-integer-string-palindrom-testi/​​​
  • 28-08-2019, 11:12:09
    #2
    Hocam girilen input eğer sayı ise onu stringe çevirip en alttaki işlemi yapmanız daha basit ve pythonic olacaktır.
    deger=raw_input("girin")
    print("palindrome" if str(deger)== str(deger)[::-1] else "palindrome değil")
  • 28-08-2019, 11:53:10
    #3
    Arkadaşın yazdığı gibi [::-1] şeklinde terse çevierbilirsiniz onlarca satır kod yazıp döngülere sokmak yerine tek satırda yapılan bir işlem
  • 31-08-2019, 09:55:02
    #4
    ebubekirtrkr adlı üyeden alıntı: mesajı görüntüle
    Hocam girilen input eğer sayı ise onu stringe çevirip en alttaki işlemi yapmanız daha basit ve pythonic olacaktır.
    deger=raw_input("girin")
    print("palindrome" if str(deger)== str(deger)[::-1] else "palindrome değil")
    raw_input 2x te kaldı hocam bence 3x e gecmelısınız
  • 31-08-2019, 15:18:14
    #5
    Hasario adlı üyeden alıntı: mesajı görüntüle
    raw_input 2x te kaldı hocam bence 3x e gecmelısınız
    Haklısınız hocam biliyorum onu ama telden yazıdğım için o an py2 vardı onla yazdım