Çözüldü Python ile artan sayıları bulma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

theorder21

Hectopat
Katılım
22 Şubat 2022
Mesajlar
477
Çözümler
3
Merhabalar, problem başlıktada belirttiğim gibi, belkide basit bir algoritma sorusu ama şimdilik becerilerim bunu karşılayamıyor. Kullanıcının girdiği sayıya göre örneğin, 122905 yazıldığında bu artan sayı olmayacak ama 12299 girildiğinde ekrana artan sayı şeklinde çıkmalı. While ile yazılması gerek.
 
Çözüm
Hayır, her sayı öncekinden büyük ve ya eşit olmalı. Örnek 115587 sayısı girilirse sondaki 7 yüzünden artan olmayacak, ekrana 'Bu artan sayı değil' çıkmalı. Atıyorum 7789 girillirse ekrana 'Bu artan sayı' çıkmalı.
Python:
number = input("Sayi giriniz: ")
index = 0
while index < len(number) - 1:
    if int(number[index + 1]) < int(number[index]):
        print("Artan sayi degil.")
        break;
    if index == len(number) - 2: print("Artan sayi.")
    index += 1
Bu şekilde çözdüm while kullanarak. Anlamadığınız yerleri sorabilirsiniz.
Python:
# Kullanıcıdan sayı al
sayi = input("Lütfen bir sayı girin: ")

# Döngü başlat
i = 0
while i < len(sayi) - 1:
 # Bir sonraki rakamı al
 sonraki_rakam = sayi[i+1]

 # Bir önceki rakamı al
 onceki_rakam = sayi[i]

 # Eğer bir sonraki rakam, bir önceki rakamdan küçükse, bu sayı artan bir sayı değildir
 if sonraki_rakam < onceki_rakam:
 print("Bu sayı artan bir sayı değildir.")
 break

 # İndisi bir arttır
 i += 1

# Eğer döngü tamamlandıysa, bu sayı artan bir sayıdır
else:
 print("Bu sayı artan bir sayıdır.")

Bu kod parçacığının çalışma şekli aynıdır: Kullanıcıdan bir sayı alır, sayının her rakamını tek tek ele alır ve bir sonraki rakamın bir önceki rakamdan küçük olup olmadığını kontrol eder. Eğer bir sonraki rakam bir önceki rakamdan küçükse, bu sayı artan bir sayı değildir ve programdan çıkar. Eğer döngü tamamlanırsa, bu sayı artan bir sayıdır ve ekrana "Artan sayı" yazdırır.
 
Python:
# Kullanıcıdan sayı al
sayi = input("Lütfen bir sayı girin: ")

# Döngü başlat
i = 0
while i < len(sayi) - 1:
 # Bir sonraki rakamı al
 sonraki_rakam = sayi[i+1]

 # Bir önceki rakamı al
 onceki_rakam = sayi[i]

 # Eğer bir sonraki rakam, bir önceki rakamdan küçükse, bu sayı artan bir sayı değildir
 if sonraki_rakam < onceki_rakam:
 print("Bu sayı artan bir sayı değildir.")
 break

 # İndisi bir arttır
 i += 1

# Eğer döngü tamamlandıysa, bu sayı artan bir sayıdır
else:
 print("Bu sayı artan bir sayıdır.")

Bu kod parçacığının çalışma şekli aynıdır: Kullanıcıdan bir sayı alır, sayının her rakamını tek tek ele alır ve bir sonraki rakamın bir önceki rakamdan küçük olup olmadığını kontrol eder. Eğer bir sonraki rakam bir önceki rakamdan küçükse, bu sayı artan bir sayı değildir ve programdan çıkar. Eğer döngü tamamlanırsa, bu sayı artan bir sayıdır ve ekrana "Artan sayı" yazdırır.
Anladım teşekkürler ama programı çalıştırdığım zaman print fonksiyonlarını görmüyor nedense.
 
Merhabalar, problem başlıktada belirttiğim gibi, belkide basit bir algoritma sorusu ama şimdilik becerilerim bunu karşılayamıyor. Kullanıcının girdiği sayıya göre örneğin, 122905 yazıldığında bu artan sayı olmayacak ama 12299 girildiğinde ekrana artan sayı şeklinde çıkmalı. While ile yazılması gerek.
Sorun çözülmediyse, artan sayı şeklinde çıkmak derken neyi kastediyorsunuz hocam? 122905 verildiğinde 012259 şeklinde mi çıkacak?
 
Sorun çözülmediyse, artan sayı şeklinde çıkmak derken neyi kastediyorsunuz hocam? 122905 verildiğinde 012259 şeklinde mi çıkacak?
Hayır, her sayı öncekinden büyük ve ya eşit olmalı. Örnek 115587 sayısı girilirse sondaki 7 yüzünden artan olmayacak, ekrana 'Bu artan sayı değil' çıkmalı. Atıyorum 7789 girillirse ekrana 'Bu artan sayı' çıkmalı.
 
Hayır, her sayı öncekinden büyük ve ya eşit olmalı. Örnek 115587 sayısı girilirse sondaki 7 yüzünden artan olmayacak, ekrana 'Bu artan sayı değil' çıkmalı. Atıyorum 7789 girillirse ekrana 'Bu artan sayı' çıkmalı.
Python:
number = input("Sayi giriniz: ")
index = 0
while index < len(number) - 1:
    if int(number[index + 1]) < int(number[index]):
        print("Artan sayi degil.")
        break;
    if index == len(number) - 2: print("Artan sayi.")
    index += 1
Bu şekilde çözdüm while kullanarak. Anlamadığınız yerleri sorabilirsiniz.
 
Çözüm
Python:
number = input("Sayi giriniz: ")
index = 0
while index < len(number) - 1:
    if int(number[index + 1]) < int(number[index]):
        print("Artan sayi degil.")
        break;
    if index == len(number) - 2: print("Artan sayi.")
    index += 1
Bu şekilde çözdüm while kullanarak. Anlamadığınız yerleri sorabilirsiniz.
Çok teşekkürler anladım.
 

Technopat Haberler

Yeni mesajlar

Geri
Yukarı