Professional Documents
Culture Documents
Python
ლ ე ქ ც ი ა 4 : ც ი კ ლ ის ო პ ე რ ატო რე ბი
ლიკა სვანაძე
lika.s v anadze@bt u.edu.ge
while
ციკლის ოპერატორი
while ციკლის(იტერაციის) ოპერატორის მეშვეობით შესაძლებელია
ოპერაციების (ბრძანებების) განმეორებით შესრულება.
while
ციკლის
ოპერაციები სრულდება მანამ, სანამ ციკლის პირობა ჭეშმარიტია.
while-‐ის სტრუქტურა
while პირობა:
ოპერაცია 1
ოპერაცია 2
.......
21.10.19 lika.svanadze@btu.edu.ge 2
while
ციკლის ოპერატორი
მაგალითი: 1-დან 10-მდე რიცხვების დაბეჭდვა
შედეგი n + = 1
print(n)
1
2
3
4
შენიშვნა: გაითვალისწინეთ, while
ციკლის
5 პარამეტრის ცვლილება უნდა მოხდეს ციკლის
6 ტანში. წინააღმდეგ შემთხვევაში, ციკლის
7 პირობა ყოველთვის ჭეშმარიტი (True) იქნება
8 და არასდროს არ დასრულდება ციკლის
9 ტანის ოპერაციების შესრულება, რაც
10 გამოიწვევს while-‐ის ჩაციკვლას.
21.10.19 lika.svanadze@btu.edu.ge 3
range() ფუნქცია
range()
ფუნქცია აბრუნებს მთელი რიცხვების მიმდევრობას. ფუნქციაში
შესაძლებელია 3 პარამეტრის მითითება: start,
stop
და step.
ფუნქციაში
შესაძლებელია მითითებული იყოს მხოლოდ ერთი, ორი ან სამივე პარამეტრი.
სინტაქსი
v ორი პარამეტრით: range(x, y) -‐ წარმოადგენს დიაპაზონს x-დან y-‐1-‐ის ჩათვლით.
v სამი პარამეტრით: range(x, y, z)-‐ წარმოადგენს დიაპაზონს x-დან y-‐1-‐ის ჩათვლით ბიჯით z.
21.10.19 lika.svanadze@btu.edu.ge 4
for
..
in
ციკლის ოპერატორი
შედეგი შედეგი
1 1
2 3
3 5
4 7
5 9
6
7
8
9
10
21.10.19 lika.svanadze@btu.edu.ge 5
break
ოპერატორი
break ოპერატორი გამოიყენება ციკლის შიგნით, როდესაც საჭიროა მისი
შეწყვეტა, მიუხედავად იმისა, რომ ციკლის პირობა ჭეშმარიტია:
მაგალითი შედეგი
n=0 1
while n<=10: 2
n += 1 3
print(n)
if n == 3: break
21.10.19 lika.svanadze@btu.edu.ge 6
continue
ოპერატორი
continue ოპერატორი გამოიყენება ციკლის შიგნით.
continue
ოპერატორის შემდეგ დაწერილი ციკლის ოპერაციები (ბრძანებები) არ
შესრულდება და ციკლის შესრულება გადადის შემდეგ იტერაციაზე
(ბიჯზე).
მაგალითი შედეგი
1
n=0 2
while n<=10: 3
n += 1 4
6
if n == 5: continue 7
print(n) 8
9
10
21.10.19 lika.svanadze@btu.edu.ge 7
print() ფუნქცია
v print()
ფუნქცია წარმოადგენს ბეჭდვის ოპერაციას, რომელიც ბეჭდავს ფრჩხილებში
მითითებულ ინფორმაციას ახალ ხაზზე:
მაგალითი შედეგი
a=5 5
print(a)
print('Hello World!') Hello World!
მაგალითი შედეგი
21.10.19 lika.svanadze@btu.edu.ge 8
print() ფუნქცია
v print()
ფუნქციაში შესაძლებელია რამდენიმე ცვლადის (მონაცემის) მითითება,
რომლის დაბეჭდვაც მოხდება ერთ ხაზზე დაბეჭდვა.
თითოეული მათგანი print
ფუნქციაში უნდა იყოს მძიმით გამოყოფილი. შედეგად, თითოეული მონაცემი
გამოყოფილი იქნება space-ით (სივრცით).
ასევე შესაძლებელია sep
ატრიბუტის გამოყენება, რომელშიც მიეთითება სიმბოლო(ები), რითაც
მოხდება მონაცემების ერთმანეთისგან გამოყოფა:
მაგალითი
შედეგი
name = 'Alice'
a=5 Hi Alice . I have 5 donuts
print('Hi', name, '. I have', a, 'donuts')
print("Hello", name, "Ann", "James", sep="! ") Hello! Alice! Ann! James
21.10.19 lika.svanadze@btu.edu.ge 9
print() ფუნქცია - ფორმატირებული ბეჭდვა
v ფორმატირებული ბეჭდვა:
მაგალითი შედეგი
a=5.3
print('%d' %a) 5
print('%4d' %a) 5
print('%f' %a) 5.300000
print('%.2f' %a) 5.30
• %d
-‐ მთელი რიცხვის ფორმატი; %5d
-‐ 5
ერთეულის (space) გამოყოფა (შევსება იწყება მარცხნიდან)
• %s
-‐ სტრიქონის (string) ტიპის ფორმატი
• %f
-‐ ათწილადი რიცხვის ფორმატი, %.3f
-‐ წერტილის შემდეგ რიცხვი მიუთითებს 3 ციფრის გამოტანას
ათწილად ნაწილში
მაგალითი შედეგი
name = 'Alice'
Hi Alice, I have 5 donuts
a=5
print("Hi %s, I have %d donuts" %(name, a))
21.10.19 lika.svanadze@btu.edu.ge 10
სავარჯიშოები:
1. დაბეჭდეთ 5-ის ჯერადი რიცხვები 20-დან 125-ის ჩათვლით.
6. დაბეჭდეთ 1500-დან 2100-ის ჩათვლით რიცხვები რომლებიც არიან 7-ის და 5-ის ჯერადი ერთდროულად.
7. დაითვალეთ 1500-დან 2100-ის ჩათვლით რიცხვების ჯამი რომლებიც არიან 7-ის და 5-ის ჯერადი
ერთდროულად. დაბეჭდეთ მიღებული შედეგი.
8. დაითვალეთ 1500-დან 2100-ის ჩათვლით რიცხვების ჯამი რომლებიც არიან 7-ის და 5-ის ჯერადი
ერთდროულად. როგორც კი რიცხვების ჯამი გადააჭარბებს 20 000-ს, შეწყვიტეთ ციკლი. დაბეჭდეთ მიღებული
ჯამი ეკრანზე.
9. დაითვალეთ 1500-დან 2100-ის ჩათვლით 5-ის ჯერადი რიცხვების რაოდენობა. დაბეჭდეთ შედეგი.
10. დაბეჭდეთ ეკრანზე 15-დან 150-მდე 5-ის ჯერადი რიცხვები გარდა 50-ის, 75, 80-ისა. გამოიყენეთ continue
ოპერატორი.
21.10.19 lika.svanadze@btu.edu.ge 11
სავარჯიშოები:
11. შეიყვანეთ 2 დადებითი მთელი რიცხვი. იპოვეთ ამ ორი რიცხვის უდიდესი საერთო გამყოფი.
12. შეიყვანეთ 2 დადებითი მთელი რიცხვი. იპოვეთ ამ ორი რიცხვის უმცირესი საერთო ჯერადი.
13. შეიყვანეთ 10 რიცხვი ციკლის გამოყენებით. იპოვეთ რიცხვებს შორის უდიდესი კენტი რიცხვი და დაბეჭდეთ.
თუ კენტი რიცხვი არ შეგხვდათ, გამოიტანეთ შესაბამისი შეტყობინება.
14. შეიყვანეთ რიცხვი კლავიატურიდან. პროგრამამ უნდა დაბეჭდოს შეყვანილი რიცხვის ყველა გამყოფი. (მაგ.
18-ის გამოყოფებია: 1, 2, 3, 6, 9, 18)
15. შეიტანეთ რიცხვი. დაადგინეთ შეტანილი რიცხვი არის თუ არა მარტივი რიცხვი და გამოიტანეთ შესაბამისი
შეტყობინება (გაითვლისწინეთ: მარტივია რიცხვი, რომელსაც აქვს მხოლოდ ორი გამყოფი: ერთი და თავისი
თავი).
21.10.19 lika.svanadze@btu.edu.ge 12
სავარჯიშოები:
21. შეიყვანეთ ნებისმიერი რიცხი. დაადგინეთ არის თუ არა შეტანილი რიცხვი პალინდრომი.
(მითითება: პალინდრომია რიცხვი, რომელიც მარჯვნიდან და მარცხნიდან ერთნაირად
იკითხება). მაგ. 12521
21.10.19 lika.svanadze@btu.edu.ge 13