Python-ის საფუძვლები: ცვლადები, მონაცემთა ტიპები და არითმეტიკული ოპერაციები¶
აქ განხილულია რეზერვირებული სიტყვები, ცვლადების დარქმევა, მონაცემთა ტიპები და არითმეტიკული ოპერაციების პრიორიტეტები მარტივი მაგალითებით.
ინტერაქტიული კოდი 🐍
ამ გვერდზე კოდის ბლოკების გაშვება პირდაპირ ბრაუზერში შეგიძლია — შეცვალე კოდი და დააჭირე ▶ გაშვებას. (პირველი გაშვება ~რამდენიმე წამი — Python იტვირთება.)
🖨️ print() ფუნქცია¶
print() არის Python-ის ფუნქცია, რომელიც ეკრანზე ბეჭდავს მნიშვნელობებს. ეს ყველაზე ხშირად გამოყენებადი ხელსაწყოა, როცა გვინდა ვნახოთ, რა ხდება კოდში.
- ტექსტი (სტრიქონი) იწერება ბრჭყალებში:
"..."ან'...'. - ერთ
print()-ში რამდენიმე მნიშვნელობა შეიძლება, მძიმით გამოყოფილი — ისინი ჰარით დაიბეჭდება.
სცადე ⬇️ (შეცვალე ტექსტი და გაუშვი):
ცვლადები და მათი ტიპები¶
ცვლადი არის მეხსიერებაში ადგილი, სადაც ვინახავთ მონაცემს.
- ცვლადის სახელები უნდა იყოს აღწერითი, მარტივი და გასაგები. აი რამდენიმე წესი:
- გამოიყენეთ მხოლოდ ასოები (a-z, A-Z), ციფრები (0-9) და ქვედა ხაზი
_. - სახელი არ უნდა იწყებოდეს ციფრით.
- არ გამოიყენოთ რეზერვირებული სიტყვები.
- გამოიყენეთ
snake_caseსტილი (სიტყვები გამოყოფილია_-ით) Python-ში.
- გამოიყენეთ მხოლოდ ასოები (a-z, A-Z), ციფრები (0-9) და ქვედა ხაზი
Python-ში ცვლადის გამოცხადება ხდება პირდაპირ მნიშვნელობის მინიჭებით:
VS CODE - ში ფაილის გახსნა:
🆚 Ctrl+O
ცვლადების გამოცხადება¶
პითონში ცვლადის გამოცხადება ხდება მარტივად, უბრალოდ მნიშვნელობის მინიჭებით (=).
განმარტება:
ცვლადის სახელი უნდა იყოს აღწერითი, მაგ.: age ასაკისთვის.
ცვლადის სახელი არ უნდა იწყებოდეს ციფრით და არ უნდა შეიცავდეს სპეციალურ სიმბოლოებს (გარდა _).
პითონი ავტომატურად განსაზღვრავს ცვლადის ტიპს.
მონაცემთა ტიპები¶
მონაცემთა ძირითადი ტიპები
ცვლადებს შეიძლება ჰქონდეთ სხვადასხვა ტიპის მონაცემები. ძირითადი ტიპებია:
int: მთელი რიცხვები (მაგ.: 5, -10)
float: წილადი რიცხვები (მაგ.: 3.14, -0.5)
str: სტრიქონები (მაგ.: "გამარჯობა")
bool: ლოგიკური მნიშვნელობები (True, False)
list: სიები (მაგ.: [1, 2, 3])
tuple: კორტეჟები (მაგ.: (1, 2))
set: სიმრავლეები (მაგ.: {1, 2, 3})
dict: ლექსიკონები (მაგ.: {"name": "ანა", "age": 25})
განმარტება:
type() ფუნქცია გვიჩვენებს ცვლადის ტიპს.
მონაცემთა ტიპი განსაზღვრავს, თუ რა ოპერაციების გაკეთება შეიძლება ცვლადზე.
რეზერვირებული სიტყვები¶
Danger
აღწერა: პითონს აქვს სიტყვები, რომლებიც დაცულია ენისთვის და არ შეიძლება გამოვიყენოთ ცვლადების სახელებად.
მაგ.: if, else, for, while, True, False, None, and, or, not, def, class, return და სხვ.
მაგალითი:
არასწორი რეზერვირებული სიტყვის გამოყენება, ეს გამოიწვევს შეცდომას!
❌ if = 10
✅ condition = 10
print(condition)
განმარტება:
რეზერვირებული სიტყვების სრული სია: import keyword; print(keyword.kwlist).
ყოველთვის გამოიყენეთ აღწერითი სახელები, რომლებიც არ ემთხვევა ამ სიტყვებს.
არითმეტიკული ოპერაციები:
აღწერა: პითონი გვაძლევს საშუალებას, შევასრულოთ მათემატიკური ოპერაციები:
+ (მიმატება)
- (გამოკლება)
* (გამრავლება)
/ (გაყოფა)
// (მთელი გაყოფა)
% (ნაშთი)
** (ხარისხში აყვანა)
განმარტება:
/ ყოველთვის აბრუნებს float-ს, მაგ.: 10 / 2 = 5.0.
// აბრუნებს მთელ რიცხვს, მაგ.: 10 // 3 = 3.
% გვაძლევს გაყოფის ნაშთს.
** გამოიყენება რიცხვის ხარისხში ასაყვანად.
შემოკლებული არითმეტიკული ოპერაციები:
აღწერა: ეს არის ოპერაციები, რომლებიც ამარტივებს ცვლადის მნიშვნელობის განახლებას:
+= (მიმატება და მინიჭება)
-= (გამოკლება და მინიჭება)
= (გამრავლება და მინიჭება)
/= (გაყოფა და მინიჭება)
//= (მთელი გაყოფა და მინიჭება)
%= (ნაშთი და მინიჭება)
*= (ხარისხი და მინიჭება)
განმარტება:
შემოკლებული ოპერაციები ამცირებს კოდის სიგრძეს.
ისინი გამოიყენება, როცა ცვლადის მნიშვნელობა საკუთარ თავზე დამოკიდებულია.
არითმეტიკული ოპერაციების პრიორიტეტები¶
არითმეტიკული ოპერაციების პრიორიტეტები:
აღწერა: პითონი ასრულებს ოპერაციებს გარკვეული თანმიმდევრობით:
() – ფრჩხილები
** – ხარისხი
*, /, //, % – გამრავლება, გაყოფა, მთელი გაყოფა, ნაშთი
+, - – მიმატება, გამოკლება
Warning
თუ პრიორიტეტები თანაბარია, ოპერაციები სრულდება მარცხნიდან მარჯვნივ.
განმარტება:
ფრჩხილებით ( ) შეგვიძლია შევცვალოთ ოპერაციების შესრულების თანმიმდევრობა.
პრიორიტეტების გაგება ხელს უშლის შეცდომებს რთულ გამოთვლებში.
ამოცანები¶
პირველი გაკვეთილისთვის
ერთ გაკვეთილზე ყველა ამოცანის გაკეთება საჭირო არ არის. დამწყებისთვის საკმარისია ამოცანები 1–8 (ცვლადები, არითმეტიკა, პრიორიტეტები). დანარჩენი — დამატებით სავარჯიშოდ, ხოლო input()/math-ის ამოცანები იხილე ბოლოს, 🔥 გამოწვევის სექციაში.
ამოცანა 1: ფართობის გამოთვლა¶
დავალება: შექმენით პროგრამა, რომელიც ითვლის მართკუთხედის ფართობს.
გამოიყენეთ ცვლადები length და width (მთელი ან წილადი რიცხვები). გამოთვალეთ ფართობი (length * width) და გამოიტანეთ შედეგი.
💡 ამოხსნა
ამოცანა 2: ნაშთის გამოთვლა¶
დავალება: შექმენით პროგრამა, რომელიც ითვლის, თუ რამდენჯერ ჯდება რიცხვი a რიცხვში b (მთელი გაყოფა) და რა ნაშთი რჩება.
გამოიყენეთ // და %.
💡 ამოხსნა
ამოცანა 3: შემოკლებული ოპერაციები¶
დავალება: შექმენით ცვლადი total, რომელიც თავდაპირველად უდრის 10-ს.
გაზარდეთ ის 5-ით, გაამრავლეთ 2-ზე და შემდეგ გაყავით 3-ზე შემოკლებული ოპერაციების გამოყენებით.
💡 ამოხსნა
ამოცანა 4: პრიორიტეტების გამოყენება¶
დავალება: გამოთვალეთ გამოსახულება 5 + 2 * 3 ** 2 ორჯერ: ერთხელ ფრჩხილების გარეშე და მეორედ ფრჩხილებით (5 + 2) * 3 ** 2. გამოიტანეთ ორივე შედეგი.
💡 ამოხსნა
ამოცანა 5: ცვლადის ტიპის შემოწმება¶
დავალება: შექმენით რამდენიმე ცვლადი (მაგ.: num, text, flag) სხვადასხვა ტიპის მონაცემებით (int, str, bool).
გამოიყენეთ type() ფუნქცია მათი ტიპების გამოსატანად.
💡 ამოხსნა
ამოცანა 6: ცვლადების გამოცხადება და ტიპის შემოწმება¶
შექმენით ოთხი ცვლადი: name (სტრიქონი), age (მთელი რიცხვი), height (წილადი რიცხვი), is_student (ბულეანი).
გამოიტანეთ თითოეული ცვლადის მნიშვნელობა და მისი ტიპი type() ფუნქციის გამოყენებით.
💡 ამოხსნა
name = "მარიამი"
age = 22
height = 1.65
is_student = True
print("სახელი:", name, "ტიპი:", type(name)) # გამოიტანს: სახელი: მარიამი ტიპი: <class 'str'>
print("ასაკი:", age, "ტიპი:", type(age)) # გამოიტანს: ასაკი: 22 ტიპი: <class 'int'>
print("სიმაღლე:", height, "ტიპი:", type(height)) # გამოიტანს: სიმაღლე: 1.65 ტიპი: <class 'float'>
print("სტუდენტია:", is_student, "ტიპი:", type(is_student)) # გამოიტანს: სტუდენტია: True ტიპი: <class 'bool'>
მითითება: გამოიყენეთ აღწერითი ცვლადების სახელები.
შეამოწმეთ, რომ ცვლადის სახელი არ ემთხვევა რეზერვირებულ სიტყვებს მაგალითად:
- True
- False
ამოცანა 7: მარტივი არითმეტიკული ოპერაციები¶
შექმენით ორი ცვლადი
გამოიყენეთ ყველა არითმეტიკული ოპერატორი (+, -, , /, //, %, *) და გამოიტანეთ შედეგები.
💡 ამოხსნა
a = 15
b = 4
print("მიმატება:", a + b) # გამოიტანს: 19
print("გამოკლება:", a - b) # გამოიტანს: 11
print("გამრავლება:", a * b) # გამოიტანს: 60
print("გაყოფა:", a / b) # გამოიტანს: 3.75
print("მთელი გაყოფა:", a // b) # გამოიტანს: 3
print("ნაშთი:", a % b) # გამოიტანს: 3
print("ხარისხი:", a ** b) # გამოიტანს: 50625
a = 10
b = 3
print("Addition:", a + b) # 13
print("Subtraction:", a - b) # 7
print("Multiplication:", a * b) # 30
print("Division:", a / b) # 3.3333333333333335
print("Floor division:", a // b) # 3
print("Modulus:", a % b) # 1
print("Exponentiation:", a ** b) # 1000
მითითება:
ყურადღება მიაქციეთ, რომ / აბრუნებს float-ს, ხოლო // აბრუნებს int-ს.
ამოცანა 8: შემოკლებული ოპერაციების გამოყენება¶
შექმენით ცვლადი score = 100. განაახლეთ მისი მნიშვნელობა შემდეგი ოპერაციებით: გაზარდეთ 20-ით, გაამრავლეთ 2-ზე, გაყავით 5-ზე, შეამცირეთ 10-ით.
გამოიყენეთ შემოკლებული ოპერატორები (+=, *=, /=, -=).
💡 ამოხსნა
მითითება: შეამოწმეთ, რომ /= აბრუნებს float-ს, თუ გაყოფის შედეგი წილადია.
ამოცანა 9: ოპერაციების პრიორიტეტები¶
გამოთვალეთ შემდეგი გამოსახულებები:
💡 ამოხსნა
10 + 5 * 2
(10 + 5) * 2
2 ** 3 * 4 + 1
2 ** (3 * 4) + 1
result1 = 10 + 5 * 2 # 5 * 2 = 10, 10 + 10 = 20
result2 = (10 + 5) * 2 # 10 + 5 = 15, 15 * 2 = 30
result3 = 2 ** 3 * 4 + 1 # 2 ** 3 = 8, 8 * 4 = 32, 32 + 1 = 33
result4 = 2 ** (3 * 4) + 1 # 3 * 4 = 12, 2 ** 12 = 4096, 4096 + 1 = 4097
print("შედეგი 1:", result1) # გამოიტანს: 20
print("შედეგი 2:", result2) # გამოიტანს: 30
print("შედეგი 3:", result3) # გამოიტანს: 33
print("შედეგი 4:", result4) # გამოიტანს: 4097
მითითება: გაითვალისწინეთ, რომ ** აქვს უმაღლესი პრიორიტეტი, შემდეგ *, /, //, %, ბოლოს +, -. ფრჩხილებით შეგიძლიათ შეცვალოთ თანმიმდევრობა.
ამოცანა 10: საშუალო არითმეტიკული¶
შექმენით პროგრამა, რომელიც ითვლის სამი რიცხვის (num1, num2, num3) საშუალო არითმეტიკულს.
გამოიყენეთ ცვლადები და გამოიტანეთ შედეგი.
💡 ამოხსნა
მითითება: გაყოფა (/) ყოველთვის აბრუნებს float-ს.
ამოცანა 11: სტუდენტის GPA-ს გამოთვლა¶
დავალება: გამოთვალეთ სტუდენტის GPA (Grade Point Average - საშუალო ქულა) სამი საგნის ქულის მიხედვით.
გამოიყენეთ ცვლადები grade1, grade2, grade3 შემდეგი მნიშვნელობებით: grade1 = 85, grade2 = 90, grade3 = 78.
GPA გამოითვლება ფორმულით: gpa = (grade1 + grade2 + grade3) / 3.
გამოაჩინეთ GPA-ს მნიშვნელობა.
💡 ამოხსნა
განმარტება:
ცვლადები grade1, grade2, grade3 არის int ტიპის, რადგან ქულები მთელი რიცხვებია.
ფრჩხილები (grade1 + grade2 + grade3) უზრუნველყოფს, რომ მიმატება შესრულდეს გაყოფამდე.
გაყოფა (/) აბრუნებს float ტიპს, ამიტომ შედეგი წილადი რიცხვია.
GPA-ს გამოთვლისას სამი ქულის ჯამი იყოფა საგნების რაოდენობაზე (3).
რჩევები
გამოიყენეთ აღწერითი ცვლადების სახელები, მაგ.: grade1, gpa, რათა კოდი იყოს გასაგები.
გამოიყენეთ print() შედეგის შესამოწმებლად.
თუ გსურთ, სცადეთ სხვა ქულები (მაგ.: 92, 76, 88) და გამოთვალეთ ახალი GPA.
გაითვალისწინეთ, რომ გაყოფა (/) ყოველთვის აბრუნებს float-ს, მაშინაც კი, თუ შედეგი მთელი რიცხვია.
ამოცანა 12: ხარისხში აყვანა¶
შექმენით პროგრამა, რომელიც ითვლის რიცხვის base power-ე ხარისხს ** ოპერატორის გამოყენებით.
სცადეთ base = 2 და power = 3, შემდეგ base = 5 და power = 4.
💡 ამოხსნა
მითითება: ** ოპერატორი გამოიყენება ხარისხში ასაყვანად. სცადეთ უარყოფითი power-იც.
ამოცანა 13: ცვლადის განახლება¶
შექმენით ცვლადი counter = 0. განაახლეთ ის 5-ჯერ შემდეგი ოპერაციებით: += 2, *= 3, -= 4, /= 2, += 10.
გამოიტანეთ ყოველი ნაბიჯის შემდეგ.
💡 ამოხსნა
მითითება: თვალი ადევნეთ, როგორ იცვლება ცვლადის ტიპი (int → float) /= ოპერაციის შემდეგ.
ამოცანა 14: რეზერვირებული სიტყვების თავიდან აცილება¶
სცადეთ შექმნათ ცვლადი სახელით for ან while და გამოიტანეთ შეცდომა.
შემდეგ შეცვალეთ სახელი აღწერითი სახელით (მაგ.: loop_count) და გამოიყენეთ ის რიცხვის გასაორმაგებლად.
💡 ამოხსნა
მითითება: გამოიყენეთ import keyword; print(keyword.kwlist) რეზერვირებული სიტყვების სანახავად.
ამოცანა 15: ნაშთის გამოთვლა¶
გამოთვალეთ, რა ნაშთი რჩება, როცა რიცხვი n = 25 იყოფა m = 7-ზე.
გამოიყენეთ % ოპერატორი.
ასევე გამოთვალეთ მთელი გაყოფის შედეგი (//).
💡 ამოხსნა
განმარტება:
% აბრუნებს ნაშთს, ხოლო // აბრუნებს გაყოფის მთელ ნაწილს.
ორივე ოპერაციის შედეგი int ტიპისაა.
ამოცანა 16: ფარენჰაიტიდან ცელსიუსში გარდაქმნა¶
გარდაქმენით ტემპერატურა ფარენჰაიტიდან ცელსიუსში ფორმულის გამოყენებით: C = (F - 32) * 5 / 9.
გამოიყენეთ ცვლადი fahrenheit = 68. გამოაჩინეთ ცელსიუსის მნიშვნელობა.
💡 ამოხსნა
განმარტება:
ფრჩხილები (fahrenheit - 32) უზრუნველყოფს, რომ გამოკლება შესრულდეს გამრავლებამდე.
გაყოფა (/) აბრუნებს float-ს.
ამოცანა 17: ცელსიუსიდან ფარენჰაიტში გარდაქმნა¶
გარდაქმენით ტემპერატურა ცელსიუსიდან ფარენჰაიტში ფორმულის გამოყენებით: F = C * 9 / 5 + 32.
გამოიყენეთ ცვლადი celsius = 25.
გამოაჩინეთ ფარენჰაიტის მნიშვნელობა.
💡 ამოხსნა
განმარტება:
გამრავლება და გაყოფა (*, /) შესრულდება მანამ, სანამ მიმატება (+) მოხდება.
შედეგი float ტიპისაა გაყოფის გამო.
ამოცანა 18: მეტრებიდან კილომეტრებში გარდაქმნა¶
გარდაქმენით მანძილი მეტრებიდან კილომეტრებში.
გამოიყენეთ ცვლადი meters = 2500. ფორმულა: kilometers = meters / 1000.
გამოაჩინეთ შედეგი.
💡 ამოხსნა
განმარტება:
გაყოფა (/) აბრუნებს float-ს.
1 კილომეტრი = 1000 მეტრი.
ამოცანა 19: კილომეტრებიდან მეტრებში გარდაქმნა¶
გარდაქმენით მანძილი კილომეტრებიდან მეტრებში.
გამოიყენეთ ცვლადი kilometers = 3.
ფორმულა: meters = kilometers * 1000.
გამოაჩინეთ შედეგი.
💡 ამოხსნა
განმარტება:
გამრავლება ყოველთვის აბრუნებს იმავე ტიპს, რაც ცვლადებს აქვს, მაგრამ
პითონი შეიძლება გადავიდეს float-ზე.
ამოცანა 20: მარტივი გარდაქმნა (მეტრები ფუტებში)¶
გარდაქმენით მანძილი მეტრებიდან ფუტებში.
გამოიყენეთ ცვლადი meters = 10.
ფორმულა: feet = meters * 3.28084.
გამოაჩინეთ შედეგი.
💡 ამოხსნა
განმარტება:
1 მეტრი ≈ 3.28084 ფუტი.
შედეგი float ტიპისაა.
ამოცანა 21: შემოკლებული ოპერაციები გარდაქმნისთვის¶
შექმენით ცვლადი distance = 500 (მეტრებში).
გარდაქმენით ის კილომეტრებში (/= 1000), შემდეგ გაზარდეთ 2-ჯერ (*= 2), და ბოლოს შეამცირეთ 1-ით (-= 1).
გამოაჩინეთ ყოველი ნაბიჯის შედეგი.
💡 ამოხსნა
განმარტება:
შემოკლებული ოპერატორები ამარტივებს გამოთვლებს.
/= აბრუნებს float-ს.
ამოცანა 22: მართკუთხედის ფართობი და პერიმეტრი¶
გამოთვალეთ მართკუთხედის ფართობი (area = length * width) და პერიმეტრი (perimeter = 2 * (length + width)) ცვლადების გამოყენებით.
გამოიყენეთ length = 6 და width = 4.
გამოაჩინეთ ორივე შედეგი.
💡 ამოხსნა
განმარტება:
length და width არის int ტიპის ცვლადები.
ფრჩხილები (length + width) უზრუნველყოფს, რომ მიმატება შესრულდეს გამრავლებამდე.
შედეგები int ტიპისაა, რადგან გამოყენებულია მხოლოდ მთელი რიცხვები.
ამოცანა 23: ოთხკუთხედის (კვადრატის) ფართობი და პერიმეტრი¶
გამოთვალეთ კვადრატის ფართობი (area = side * side) და პერიმეტრი (perimeter = 4 * side) ცვლადის გამოყენებით.
გამოიყენეთ side = 5.
გამოაჩინეთ ორივე შედეგი.
💡 ამოხსნა
განმარტება:
side არის int ტიპის ცვლადი.
ფართობისთვის გამოიყენება გამრავლება, ხოლო პერიმეტრისთვის – გამრავლება 4-ზე.
შედეგები int ტიპისაა.
ამოცანა 24: პარალელეპიპედის მოცულობა¶
გამოთვალეთ პარალელეპიპედის მოცულობა (volume = length * width * height) ცვლადების გამოყენებით.
გამოიყენეთ length = 3, width = 4, height = 5.
გამოაჩინეთ შედეგი.
💡 ამოხსნა
განმარტება:
ყველა ცვლადი (length, width, height) არის int ტიპის.
გამრავლება სრულდება მარცხნიდან მარჯვნივ, ამიტომ ფრჩხილები არაა საჭირო.
შედეგი int ტიპისაა.
ამოცანა 25: კუბის მოცულობა და ფართობი¶
გამოთვალეთ კუბის მოცულობა (volume = side * side * side) და ზედაპირის ფართობი (surface_area = 6 * side * side) ცვლადის გამოყენებით.
გამოიყენეთ side = 2.
გამოაჩინეთ ორივე შედეგი.
💡 ამოხსნა
განმარტება:
side არის int ტიპის ცვლადი.
მოცულობისთვის გამოიყენება სამჯერადი გამრავლება, ხოლო ზედაპირის ფართობისთვის – 6 გვერდის ფართობი.
შედეგები int ტიპისაა.
ამოცანა 26: მართკუთხედის ფართობის განახლება¶
დავალება: შექმენით ორი ცვლადი length = 10 და width = 5.
გამოთვალეთ მართკუთხედის ფართობი (area = length * width).
შემდეგ გაზარდეთ length 2-ით და width 3-ით შემოკლებული ოპერატორებით (+=) და ხელახლა გამოთვალეთ ფართობი.
გამოაჩინეთ ორივე ფართობი.
💡 ამოხსნა
განმარტება:
+= ამარტივებს ცვლადის განახლებას.
ორივე ფართობი int ტიპისაა, რადგან გამოყენებულია მთელი რიცხვები.
ამოცანა 27: პერიმეტრისა და ფართობის შედარება¶
გამოთვალეთ მართკუთხედის ფართობი (area = length * width) და პერიმეტრი (perimeter = 2 * (length + width)) ცვლადებით length = 7 და width = 3.
შემდეგ გამოიყენეთ შემოკლებული ოპერატორი, რომ გააორმაგოთ length (*= 2) და ხელახლა გამოთვალეთ ფართობი და პერიმეტრი.
გამოაჩინეთ ყველა შედეგი.
💡 ამოხსნა
length = 7
width = 3
area = length * width # 7 * 3 = 21
perimeter = 2 * (length + width) # 2 * (7 + 3) = 20
print("საწყისი ფართობი:", area) # გამოიტანს: საწყისი ფართობი: 21
print("საწყისი პერიმეტრი:", perimeter) # გამოიტანს: საწყისი პერიმეტრი: 20
length *= 2 # 7 * 2 = 14
new_area = length * width # 14 * 3 = 42
new_perimeter = 2 * (length + width) # 2 * (14 + 3) = 34
print("განახლებული ფართობი:", new_area) # გამოიტანს: განახლებული ფართობი: 42
print("განახლებული პერიმეტრი:", new_perimeter) # გამოიტანს: განახლებული პერიმეტრი: 34
განმარტება:
*= 2 ორმაგდება length-ის მნიშვნელობა.
ფრჩხილები (length + width) უზრუნველყოფს სწორ პრიორიტეტს.
შედეგები int ტიპისაა.
ამოცანა 28: პარალელეპიპედის მოცულობის განახლება¶
გამოთვალეთ პარალელეპიპედის მოცულობა (volume = length * width * height) ცვლადებით length = 2, width = 3, height = 4.
შემდეგ გაასამმაგეთ height შემოკლებული ოპერატორით (*= 3) და ხელახლა გამოთვალეთ მოცულობა.
გამოაჩინეთ ორივე მოცულობა.
💡 ამოხსნა
length = 2
width = 3
height = 4
volume = length * width * height # 2 * 3 * 4 = 24
print("საწყისი მოცულობა:", volume) # გამოიტანს: საწყისი მოცულობა: 24
height *= 3 # 4 * 3 = 12
new_volume = length * width * height # 2 * 3 * 12 = 72
print("განახლებული მოცულობა:", new_volume) # გამოიტანს: განახლებული მოცულობა: 72
განმარტება:
*= 3 ზრდის height-ს სამჯერ.
მოცულობა რჩება int ტიპის, რადგან ყველა ცვლადი მთელი რიცხვია.
რჩევები¶
ყოველთვის გამოიყენეთ print() შუალედური შედეგების შესამოწმებლად.
გამოიყენეთ აღწერითი ცვლადების სახელები (მაგ.: length, width, area), რათა კოდი იყოს გასაგები.
თუ შეცდომა გაქვთ, ყურადღებით წაიკითხეთ შეცდომის შეტყობინება.
გამოიყენეთ ფრჩხილები რთული გამოსახულებების გასარკვევად.
ყურადღება მიაქციეთ ოპერაციების პრიორიტეტს; გამოიყენეთ ფრჩხილები, თუ არ ხართ დარწმუნებული თანმიმდევრობაში.
სცადეთ სხვადასხვა მნიშვნელობები, რათა ნახოთ, როგორ იცვლება შედეგი.
თუ გამოიყენება მხოლოდ მთელი რიცხვები, შედეგი იქნება int. თუ გაყოფა (/) გამოიყენება, შედეგი float იქნება.
🔥 გამოწვევა — დამატებითი ამოცანები (არასავალდებულო)¶
უფრო რთული — პირველი გაკვეთილის ფარგლებს სცდება
ეს ამოცანები იყენებს input()-ს, math მოდულს და ფორმატირებას (:.2f). სცადე მაშინ, როცა ზემოთ მოცემულ ძირითად ამოცანებს უკვე თავს გაართმევ.
გამოწვევა 1: პითაგორას თეორემა¶
შექმენით პროგრამა, რომელიც ითვლის სამკუთხედის ჰიპოტენუზის სიგრძეს პითაგორას თეორემის გამოყენებით (c = √(a² + b²)). გამოიყენეთ ორი ცვლადი a და b (კათეტები) და math.sqrt() ფუნქცია ფესვის გამოსათვლელად. გამოიტანეთ შედეგი.
💡 ამოხსნა
მითითება:
math.sqrt()-ის გამოსაყენებლად საჭიროა import math.
დარწმუნდით, რომ a და b დადებითი რიცხვებია.
შედეგი იქნება float.
გამოწვევა 2: ნარჩენის გამოთვლა¶
შექმენით პროგრამა, რომელიც ამოწმებს, არის თუ არა რიცხვი n 3-ის ჯერადი, % ოპერატორის გამოყენებით. თუ ნაშთი 0-ია, გამოიტანეთ „3-ის ჯერადია“.
💡 ამოხსნა
მითითება:
გამოიყენეთ % ნაშთის გამოსათვლელად.
სცადეთ სხვადასხვა n-ის მნიშვნელობები.
გამოწვევა 3: პითაგორას თეორემა (გაფართოებული)¶
შექმენით პროგრამა, რომელიც ითვლის სამკუთხედის ჰიპოტენუზას a და b კათეტებიდან. სთხოვეთ მომხმარებელს, შეიყვანოს a და b (input() ფუნქციით), გადააქციეთ ისინი float-ად, გამოთვალეთ ჰიპოტენუზა და გამოიტანეთ შედეგი ორი ათობითი ნიშნის სიზუსტით (:.2f).
💡 ამოხსნა
მითითება:
input() აბრუნებს სტრიქონს, ამიტომ გამოიყენეთ float() გარდაქმნისთვის.
{c:.2f} ფორმატირება გამოაქვს რიცხვი ორი ათობითი ნიშნით.
დარწმუნდით, რომ შეყვანილი მნიშვნელობები დადებითია.
გამოწვევა 4: ფარენჰაიტიდან ცელსიუსში გარდაქმნა¶
შექმენით პროგრამა, რომელიც გარდაქმნის ტემპერატურას ფარენჰაიტიდან ცელსიუსში (C = (F - 32) * 5 / 9). სთხოვეთ მომხმარებელს, შეიყვანოს ფარენჰაიტის მნიშვნელობა, გამოთვალეთ ცელსიუსი და გამოიტანეთ შედეგი.
💡 ამოხსნა
მითითება:
გამოიყენეთ ფრჩხილები (fahrenheit - 32) პრიორიტეტის გასაკონტროლებლად.
გამოწვევა 5: მანძილის გამოთვლა¶
შექმენით პროგრამა, რომელიც ითვლის ორ წერტილს შორის მანძილს კოორდინატთა სიბრტყეზე (distance = √((x2 - x1)² + (y2 - y1)²)). სთხოვეთ მომხმარებელს, შეიყვანოს x1, y1, x2, y2 და გამოაჩინეთ მანძილი :.2f ფორმატით.
💡 ამოხსნა
import math
x1 = float(input("შეიყვანეთ x1: ")) # მაგ.: 0
y1 = float(input("შეიყვანეთ y1: ")) # მაგ.: 0
x2 = float(input("შეიყვანეთ x2: ")) # მაგ.: 3
y2 = float(input("შეიყვანეთ y2: ")) # მაგ.: 4
distance = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
print(f"მანძილი: {distance:.2f}") # გამოიტანს: მანძილი: 5.00
მითითება:
ეს ამოცანა იყენებს პითაგორას თეორემას. გამოიყენეთ math.sqrt() და ფრჩხილები სწორი პრიორიტეტისთვის.