Üç Basamaklı Sayı Kontrolü
Bu program bize dışarıdan girilen sayının üç basamaklı olup olmadığını, üç basamaklı ise yüzler, onlar, birler basamaklarının artarak gidip gitmediğini söyler. Eğer artarak gidiyorsa uygun sayı, gitmiyorsa uygun olmayan sayı olacaktır. Eğer girilen sayının uzunluğu 3 ve ilk karakteri sıfır değilse (sayıyı başlangıçta string olarak aldık. Çünkü string ifadelerin uzunluğundan bahsedebiliriz) birler, onlar ve yüzler basamaklarını bulduruyoruz. Birler basamağını önce sayı stringini integera çevirip mod 10'a göre kalanını aldığımızda buluruz. Onlar basamağı ise, sayıdan birler basamağını çıkartıp 10' böldükten sonra da mod 10'a göre kalanını aldığımızda bulunmuş olur. Sayının 100'e tam bölünmesinden elde edilen tam kısmıdır.
Yüzler<Onlar<Birler ise sayı "uygun sayı", değilse "uygun değil" olacaktır.
Diğer ihtimal sayının başına 0 yazılmasıdır. Bu nedenle elif ile sayının ilk karakteri sıfıra eşitse diye kontrol ettirmemiz gerekiyor. Burada başlangıcı sıfır ise ondan bir sonrakinin sıfır olmaması halinde diğer tüm indisler de ki değerlerini sayi1 değişkenine attırıyoruz. Böylece yeni oluşan sayi1 değişkeni üç basamaklı bir sayı mı diye bakmak kalıyor geriye. Yukarıdaki işlemlerin aynısını burada da yaptırıyoruz.
While(True) ile sonsuz bir döngü yaptığımız için if komutu ile bir çıkış şartı verdiriyoruz. Dışarıdan "çıkış" girildiğinde program kırılıp sonlanacaktır.
Örneğin; 000125 değeri girilmesine rağmen program başlardaki sıfırları eleyerek sayıyı bize yeniden gösterdi ve 1<2<5 olduğu için de "uygun sayı" olduğunu söylemiştir.
Yorumlar
Yorum Gönder