Simvolların müəyyən edilməsi

   Klaviaturdan daxil edilən simvolun böyük hərf, kiçik hərf, rəqəm və ya digər simvol olmasını yoxlamaq mümkündür. Bildiyiniz kimi hər bir simvolun ASCII kodu vardır və simvolların kod cədvəlində böyük hərflər, kiçik hərflər və rəqəmlərin kodları ardıcıl şəkildə düzülmüşdür.

  Əvvəlcə köməkçi bir proqram yazıb A..Z, a..z, 0..9 simvollarının ASCII kodunu öyrənə bilərik. Bunun üçün verilmiş simvolun kodunu müəyyən edən ord() funksiyasından istifadə edəcəyik:

print("A..Z: {0}..{1}".format(ord("A"),ord("Z")))
print("a..z: {0}..{1}".format(ord("a"),ord("z")))
print("0..9: {0}..{1}".format(ord("0"),ord("9")))

    Proqramı çalışdırsaq, ekranda bu simvolların kod ardıcıllıqlarını görəcəyik:

A..Z: 65..90
a..z: 97..122
0..9: 48..57

    İndi isə istifadəçinin klaviaturdan daxil etdiyi simvolun böyük hərf, kiçik hərf, rəqəm və ya digər simvol olmasını onun koduna əsasən müəyyən edən proqram tərtib edək.

c = input()
kod = ord(c)
if kod in range(65,91):
    print("böyük hərf")
elif kod in range(97,123):
    print("kiçik hərf")
elif kod in range(48,58):
    print("rəqəm")
else:
    print("digər simvol")

Ədədin rəqəmlərinə ayrılması

   Verilmiş müsbət iki rəqəmli tam ədədi rəqəmlərinə ayırmaq üçün tam və qalıqlı bölmə əməliyyatı ilə ədədi 10-a bölməliyik:

n = int(input())
print(n//10, n%10)

    Əgər ixtiyari uzunluqdakı hər hansı bir tam ədədi rəqəmlərinə ayırmaq tələb olunursa, ədəd sıfır alınana qədər 10-a tam və qalıqlı bölünməlidir. Bunun üçün şərtli dövr alqoritmini qurmaq lazımdır:

n = int(input())
while n>0:
    print(n%10,end = " ")
    n = n//10

    Proqramı çalışdıranda görəcəksiniz ki, ədədi təşkil edən rəqəmlər sonuncudan etibarən çap olunur. Əgər düz ardıcıllığı əldə etmək istəsəniz, proqramdakı birinci sətirdəki ifadəni aşağıdakı ilə əvəz edin:

n = int(input()[::-1])

   Verilmiş ədədi rəqəmlərinə ayırmaq üçün divmod() funksiyasından da istifadə etmək olardı:

n = int(input()[::-1])
while n>0:
    n, x = divmod(n, 10)
    print(x,end = " ")

   Gəlin daha bir misalı nəzərdən keçirək. Verilmiş ədədin rəqəmləri cəmini hesablayaq:

n = int(input())
s = 0
while n>0:
    s = s + n%10
    n = n//10
print(s)

    Tam ədədi rəqəmlərinə ayırmağın başqa bir üsulu da var. Bu zaman giriş veriləni ilə ədəd kimi yox sətir kimi rəftar etmək lazımdır:

s = input()
for i in s:
    print(i,end = " ")

   Bu alqoritm birinciyə nəzərən daha sürətli çalışacaq.

 

Ədədin cüt və ya tək olması

   Verilmiş ədədin cüt və ya tək olmasını müəyyənləşdirmək çox asandır. Sadə proqramçı məntiqi ilə düşünsək, biz tam ədədi ikiyə bölməli və qalığının sıfır olub-olmadığına baxmalıyıq. Bunun üçün qalıqlı bölmə (%) və şərt operatorlarından istifadə edəcəyik.

n = int(input())
if n%2 == 0:
    print("cüt")
else:
    print("tək")

    Gördüyünüz kimi ədədin ikiyə bölünməsi nəticəsində qalıq yoxdursa, ədəd cüt, qalıq varsa, ədəd təkdir.

   Eyni məsələni həll etmək üçün aşağıdakı variantdan da istifadə etmək olardı:

n = int(input())
if n%2:
    print("tək")
else:
    print("cüt")

    Gəlin buradakı məntiqi incələyək. Bildiyiniz kimi şərt operatorunda şərtdən sonra gələn ifadə (ifadələr qrupu) yalnız o zaman icra olunur ki, şərtdə verilmiş məntiqi ifadənin nəticəsi True (doğru) olmuş olsun. Verilmiş tam ədədi ikiyə qalıqlı böləndə əgər nəticə 1-ə bərabərdirsə, bu o deməkdir ki, şərtdəki məntiqi ifadənin nəticəsi True-dur. Çünki sıfırdan fərqli ədədlərin məntiqi qarşılığı hər zaman True-dur. Belə olan halda isə ekrana məlumat kimi tək çıxarmaq lazımdır. Əks halda isə ekrana cüt çıxarılmalıdır.