Proqramlaşdırmanın Əsasları
Semestr suallarının cavabları (842 A3)
1. Düzbucaqlı üçbucağın sahəsini hesablayan funksiya yazın
def sahe(a,h):
s=(a*h)/2
print(s)
sahe(2,7)
2. Sözdən təkrarlanan hərfləri silən funksiya yazın.
def tekrarsil():
soz = input('soz daxil et: ')
netice = ""
t = ''
for herf in soz:
if herf != t:
netice += herf
t = herf
return netice
print(tekrarsil())
3. Verilmiş ədədin içində bütün rəqəmlərin olub olmamasını yoxlayan funksiya yazın.
def butunreqemler(eded):
stringeded = str(eded)
olmayanededler = []
for i in range(1,10):
if not str(i) in stringeded:
olmayanededler.append(i)
return olmayanededler
print(butunreqemler(98305614820698024492))
4. Nömrələrin qiymətlərini yoxlayan funksiya yazın.
def nomre(a):
emsal = 1
if (a.startswith("10")):
emsal = emsal + 2
hisseler = a.split("-")
if (hisseler[1][0] == hisseler[1][1]):
emsal = emsal + 3
if (hisseler[2][0] == hisseler[2][1] == hisseler[2][2]):
emsal = emsal + 6
print(emsal * 50)
nomre("10-UU-556")
5. Ədədin onu təşkil edən rəqəmlərin cəminə qalıqsız bölündüyünü müəyyən edən funksiya yazın.
def bolunen(a):
reqemlercemi = 0
for i in str(a):
reqemlercemi = reqemlercemi + int(i)
if a%reqemlercemi == 0:
return True
return False
print(bolunen(131))
6. Ədədin rəqəmlərinin hasilinin rəqəm olması üçün neçə dövr getməli olduğunu bildirən funksiya yazın.
def addim(eded,saygac = 1):
reqemler = []
for c in str(eded):
reqemler.append(int(c))
reqemlerinhasili = 1
for c in reqemler:
reqemlerinhasili = reqemlerinhasili * c
if reqemlerinhasili in range(1,10):
return saygac
return addim(reqemlerinhasili,saygac + 1 )
print(addim(77))
7. 3-ə və 5-ə tam bölünən 100-dən kiçik ədədlərin siyahısını çap edən proqram yazın.
def tambolunen35():
ededler = []
for a in range(1,100):
if a%3==0 and a%5==0:
ededler.append(a)
return ededler
print(tambolunen35())
8. Daxil edilmiş ədədə qədər olan cüt ədədlərin sayını tapın
x=int(input("Ededi daxil edin: "))
count = 0
for eded in range(x):
if eded % 2 == 0:
count += 1
print(count)
9. Verilmiş siyahıda 3-dən böyük ədədləri silmək.[2,2,4,3,6,9,6,1,5,1]
def ucden_boyukleri_sil(numbers):
netice = [eded for eded in numbers if eded <= 3]
return netice
ededler = [2, 2, 4, 3, 6, 9, 6, 1, 5, 1]
netice = ucden_boyukleri_sil(ededler)
print(netice)
10. Trade şirkətində məhsulun 12 aylıq qiymətləri var. Hansı ayda məhsulu alıb digər ayda satsaq daha çox qazanc əldə etmiş olarıq?
ayliqqiymetler = [136,151,125,119,146,133,118,106,138,136,127,101]
maxqiymet = max(ayliqqiymetler)
minqiymet = min(ayliqqiymetler)
maxqiymetayi = ayliqqiymetler.index(maxqiymet) + 1
minqiymetayi = ayliqqiymetler.index(minqiymet) + 1
print(str(minqiymetayi)+" ayda mali alib "+str(maxqiymetayi)+" ayda satmaq lazimdir")
11. Çıxışda 1
2 2
3 3 3
4 4 4 4
5 5 5 5 5 yazılacaq proqram yazın.
n = int(5)
for i in range(1, n + 1):
print(" " * (n - i), end="")
for j in range(i):
print(i, end=" ")
print()
# ve ya bu cur yazmaq olar:
for i in range(1,6):
print((i*str(i)).center(5))
12. Çıxışda 100-ə qədər olan Fibonaçi ədədlərini göstərən proqram yazın.
def fibonacci(eded,evvelkieded):
if eded > 100:
return
print(eded)
return fibonacci(eded+evvelkieded,eded)
fibonacci(1,0)
13. Girişdə verilmiş istənilən sayda ədədin cəmini çıxışda göstərən proqram yazın.
ededler = input("ededleri daxil edin: ").split(",")
cem = 0
for c in ededler:
cem += int(c)
print(cem)
14. Girişdə verilmiş cümlənin son sözünü çıxışda göstərən proqram yazın
cumle = input("Cümləni daxil edin: ")
sozler = cumle.split()
son_soz = sozler[-1]
print(son_soz)
15. Girişdə verilmiş ədədlərin çıxışda kvadratını yazın.
ededler = input("Ededler daxil edin: ").split(",")
for a in ededler:
print(a**2)
16. 100-dən 200-ə qədər 3ə bölünüb 5ə bölünməyən ədədlərin sayını tapın.
def bolunen35():
ededler = []
for a in range(100,200):
if a%3==0 and a%5 != 0:
ededler.append(a)
return len(ededler)
print(bolunen35())
17. Daxil edilmiş cümlədə olan saitlərin sayını tapan proqram yazın.
saitler = ["a","ı","o","u","e","ə","i","ö","ü"]
saitlerinsayi = 0
cumle = input("cumle daxil edin: ")
for a in cumle:
if a in saitler:
saitlerinsayi += 1
print(saitlerinsayi)
18. Verilmiş rəqəmləri müxtəlif olan 9 rəqəmli ədəddə iştirak etməyən rəqəmi çıxışa verən funksiya yazın.
eded = input(“eded daxil edin: “)
for i in range(0,10):
if not str(i) in eded:
print(i)
19. Verilmiş cümlədəki sözləri əks ardıcıllıqla çıxışa verən funksiya yazın
cumle = input("Cumle: ")
sozler = cumle.split(" ")
sozler = sozler[::-1]
print(sozler)
20. Verilmiş cümlədəki ən qısa sözün çıxışa verən funksiya yazın.
cumle = input("cumleni daxil et: ")
en_qisa_soz = min(cumle.split(), key=len)
print(en_qisa_soz)
21. Verilmiş cümlədəki ən uzun sözün çıxışa verən proqram yazın
cumle = input("cumleni daxil et: ")
en_uzun_soz = max(cumle.split(), key=len)
print(en_uzun_soz)
22. Verilmiş cümlədəki sozlərin sayını çıxışa verən proqram yazın
cumle = input("cumleni daxil et: ")
say = len(cumle.split())
print(say)
23. Daxil edilmiş cümlədə 4 hərifli sözlərin sayını çıxışa verən proqram yazın
cumle = input("Cumle daxil edin: ")
sozler = cumle.split(" ")
dortheriflisozler = []
for soz in sozler:
if len(soz) == 4:
dortheriflisozler.append(soz)
print(dortheriflisozler)
24. Daxil edilmiş cümlədə ‘a’ hərifi ilə başlayan və sonu ‘m’ ilə bitən sözləri çıxışa verən proqram yazın.
cumle = input("Cumle daxil edin: ")
sozler = cumle.split(" ")
list = []
for a in sozler:
if a.startswith("a") and a.endswith("m"):
list.append(a)
print(list)
25. Daxil edilmiş cümlədə sonu 'lar' ilə bitən sozlərin sayını çıxışa verən proqram yazın.
cumle = input("Cumle daxil edin: ")
sozler = cumle.split(" ")
list = []
for a in sozler:
if a.endswith("lar"):
list.append(a)
print(list)
27. Arqument kimi tək bir sətri götürən və sətirdəki bütün böyük hərflərin indekslərin olduğu sıralanmış siyahı(list) qaytaran funksiya yaradın. myFunction(“HeLlo WorD”) → [0,2,6,9]
setr = input("Setri daxil edin: ")
list = []
for i in range(0,len(setr)):
if setr[i].isupper():
list.append(i)
print(list)
28. Isogram dublikat hərfləri olmayan sözdür. Sətir götürən və "isogram" olub-olmamasından asılı olaraq True və ya False qaytaran funksiya yaradın.
setr = input("Setri daxil edin: ")
def isogram(setr):
evvelkiherfler = []
for c in setr:
if c in evvelkiherfler:
return False
evvelkiherfler.append(c)
return True
print(isogram(setr))
29. Bir sətri tamamilə böyük hərflərə və ya tamamilə kiçik hərflərə çevirmək üçün lazım olan ən kiçik addımları ( hansının ən az sayda addım atmasından asılı olaraq) qaytaran funksiya yaradın. Addım bir simvolun kiçik hərfdən böyük hərfə və ya əksinə dəyişdirilməsindən ibarətdir.
def convert(setr):
boyuk_herf_sayi = 0
kicik_herf_sayi = 0
for a in setr:
if a.isupper():
boyuk_herf_sayi += 1
if a.islower():
kicik_herf_sayi += 1
if boyuk_herf_sayi > kicik_herf_sayi:
return kicik_herf_sayi
return boyuk_herf_sayi
print(convert("abC"))
print(convert("abCBA"))
30. Üçrəqəmli natural ədəd verilib. Onun Armstronq ədədi olub-olmadığını müəyyən edin. (Armstronq ədədində rəqəmlərin 3-cü qüvvətinin cəmi həmin ədədə bərabərdir.
def armstrongnumber(eded):
reqemler = [int(a) for a in str(eded)]
cem = 0
for a in reqemler:
cem += a**3
if cem == eded:
return True
return False
print(armstrongnumber(152))
31. 4 rəqəmli natural ədəd verilmişdir. Onun palindrom ədəd olduğunu təyin edin. Qeyd: tam ədəd o zaman palindrom sayılır ki, soldan - sağa və əksinə eyni cür oxunur, məs, 2332 ədədi palindrom sayılır.
def polindrome(eded):
if str(eded) == str(eded)[::-1]:
return True
return False
print(polindrome(int(input(": "))))
32. Beşrəqəmli natural ədəd verilmişdir. Ən solda yerləşən rəqəmdən başlayaraq bütün rəqəmlərin artma sırası ilə yerləşdiyini müəyyən etmək lazımdır.
def artmasirasi(eded):
reqemler = [int(a) for a in eded]
return reqemler == sorted(reqemler)
print(artmasirasi((input("Eded: "))))
33. 4-rəqəmli tam müsbət ədəd verilmişdir. Bu ədədin öz rəqəmlərin hamısına bölündüyünü təyin edin.
def ozreqemlerinebolunur():
eded = input("Eded daxil edin: ")
reqemler = [int(a) for a in eded]
for a in reqemler:
if int(eded) % a != 0:
return False
return True
print(ozreqemlerinebolunur())
34. 4-rəqəmli natural ədədi verilmişdir. Bu ədədin yazılışından cüt rəqəmləri silin (0 - cüt rəqəm kimi qəbul edin)
def cutreqemlersil():
eded = input("Eded daxil edin: ")
reqemler = [a for a in eded]
for a in range(len(reqemler)-1,-1,-1):
if int(reqemler[a]) % 2 == 0:
reqemler.pop(a)
return " ".join(reqemler)
print(cutreqemlersil())
35. Dördrəqəmli natural ədəd verilib. Onun rəqəmlərinin bir birindən fərqli olduğunu müəyyən edin. Əgər fərqlidirsə, "YES" çıxışa verin, əks halda - "NO".
def NOYES():
eded = input("Eded daxil edin: ")
reqemler = [a for a in eded]
dictionary = dict.fromkeys(reqemler,0)
for a in reqemler:
dictionary[a] += 1
for a in dictionary.values():
if a != 1:
return "NO"
return "YES"
print(NOYES())
36. Bir siyahının(list) dayaq nöqtəsi solundakı bütün elementlər ve sağındakı bütün elementlərin cəmi eyni olan bir ədəddir. Bir siyahının(list) dayaq nöqtəsini tapan funksiya yazın.
def dayaqNoqtesi(list):
for a in range(1,len(list)):
if sum(list[:a]) == sum(list[a+1:]):
return list[a]
print(dayaqNoqtesi([9,1,9]))
37. Verilmiş ədədə qədər olan Fibonaççi ədədlərini çap eden funksiya yazın.
Fibonaççi ədədləri: birinici və ikinci həddi 1-ə. 3-cü həddən başlayaraq hər sonra gələn hədd özündən əvvəlki iki həddin cəminə bərabər olan ədədlər ardıcıllığıdır. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ....
def fibonacci(verlmiseded,eded=1,evvelkieded=0):
if eded > verlmiseded:
return
print(eded)
return fibonacci(verlmiseded,eded+evvelkieded,eded)
fibonacci(10)
38. Bir cümələ (və ya söz) və həriflər siyahısı verilmişdir. Cümələdə olan sözərdə siyahıda olmayan hərifləri "-" əvəz edən funksiya yazın. Nümunələr:
myFunction("helicopter", ["o", "e", "s"]) ➞ "-e---o--e-"
myFunction("tree", ["r", "t", "e"]) ➞ "tree"
def myFunction(soz,herfler):
for a in soz:
if a not in herfler:
soz = soz.replace(a,"-")
print(soz)
myFunction("helicopter",["o","e","s"])
39. Daxil edilmiş (input funksiyası ilə) ədədə qədər olan 7-yə bölünən ədədlərin hasilini hesablayan funksiya yazın.
eded = int(input("Eded daxil edin: "))
hasil = 1
for i in range(1,eded):
if i % 7 == 0:
hasil *= i
print(hasil)
40. Yeni siyahı (list) yaradın və daxil edilmiş (input funksiyası ilə) ədədə qədər olan və 3 rəqəmi ilə bitən ədədləri həmin siyahıya əlavə edin.
eded = int(input("Eded daxil edin: "))
siyahi = []
for a in range(1,eded):
if str(a).endswith("3"):
siyahi.append(a)
print(siyahi)
41. Yeni siyahı (list) yaradın və daxil edilmiş (input funksiyasi ilə) x ədədindən y ədədinə qədər olan və 6 -a bölünməyən ədədləri həmin siyahıya əlavə edin.
x = int(input("Eded1 daxil edin: "))
y = int(input("Eded2 daxil edin: "))
siyahi = []
for a in range(x,y):
if a % 6 != 0:
siyahi.append(a)
print(siyahi)
42. Daxil edilmiş cümlədə 4 hərfli sözlərin sayını çıxışa verən proqram yazın.
cumle = input("Cumleni daxil edin: ")
dordheriflisozsayi = 0
for a in cumle.split(" "):
if len(a) == 4:
dordheriflisozsayi += 1
print(dordheriflisozsayi)
43. Daxil edilmiş cümlədə sonu 'lar' ilə bitən sözlərin sayını çıxışa verən proqram yazın.
cumle = input("Cumle daxil edin: ")
sozler = cumle.split(" ")
list = []
for a in sozler:
if a.endswith("lar"):
list.append(a)
print(list)
44. Ədədini faktorialını hesablayan funksiya yazın.
eded = int(input("ededi daxil edin: "))
faktorial = 1
for i in range(1, eded+1):
faktorial = faktorial * i
print (faktorial)
45. Bir söz verilmişdir. Bu sözdə ən çox qeydə alınmış hərifləri tapan və onların sayını qaytaran funksiya yazın.
Nümunələr: myFunction("balloon") ➞ ('o', 2)
-
46. Bir siyahıda (list) verilmiş ədədlərin cəmini tapın.
myFunction = [10, 20, 30, 40, 50]
print(sum(myFunction))
47. İki siyahını (list) birləşdirən və nəticədə əldə olunan siyahını(list) qaytaran funksiya yazın.
Nümunələr: myFunction([1, 2, 3], [4, 5, 6]) ➞ [1, 2, 3, 4, 5, 6]
def list_birlesdiren(list1, list2):
elde_olunan = list1 + list2
return elde_olunan
list1 = [1, 2, 3]
list2 = [4, 5, 6]
netice = list_birlesdiren(list1, list2)
print("Birlestirilmis siyahi:", netice)
48. Verilmiş cümlədə ən çox istifadə edilən sözü tapan funksiya yazın.
-
49. Verilmiş ədədin rəqəmlərinin cəmini hesablayan funksiya yazın. Nümunələr: myFunction(12345) ➞ 15
def reqemlerin_cemini_hesabla(eded):
reqemlerin_cemi = 0
for reqem in str(eded):
reqemlerin_cemi += int(reqem)
return reqemlerin_cemi
eded = int(input("ededi daxil edin: "))
netice = reqemlerin_cemini_hesabla(eded)
print(netice)
50. İki ədəd arasında ən böyük ədədi tapan funksiya yazın.
Nümunələr: myFunction(25, 35) ➞ 35
myFunction = (25, 43)
print(max(myFunction))