- Dəyişən yaratmaq və onun qiymətini yeniləmək
int,float,strvəbooltiplərini fərqləndirmək- Hesab operatorlarından, o cümlədən tam bölmə və qalıq operatorlarından istifadə etmək
- Qiymətləri
int(),float()vəstr()ilə çevirmək
Oyunda xal toplayırsan: əvvəl 0, sonra 10, sonra 25. Proqram bu ədədi haradasa yadda saxlamalı və hər dəfə yeniləməlidir. Bunun üçün dəyişənlərdən istifadə olunur. Dəyişəni üzərində ad yazılmış qutu kimi təsəvvür et: içinə qiymət qoyursan, sonra adına görə tapıb baxırsan və ya dəyişirsən.
Dəyişənlər
Yaddaşda saxlanan qiymətə verilən ad. Dəyişən = işarəsi ilə yaradılır: solda ad, sağda qiymət yazılır.
name = 'Murad'
age = 14
height = 1.62
print(name, age, height)
age = age + 1
print('Next year:', age)▸ Gözlənilən nəticə
Murad 14 1.62 Next year: 15
Diqqət et: proqramlaşdırmada = riyaziyyatdakı bərabərlik deyil, mənimsətmədir. age = age + 1 sətri belə oxunur: «age-in köhnə qiymətini götür, üzərinə 1 əlavə et və nəticəni yenidən age-ə yaz». Dəyişənin qiyməti istənilən vaxt dəyişə bilər — adı da buradan gəlir.
- Ad hərflərdən, rəqəmlərdən və alt xətdən (
_) ibarət ola bilər, amma rəqəmlə başlaya bilməz:score2düzgündür,2scoreisə yox. - Adda boşluq olmur. Bir neçə sözü alt xətlə birləşdir:
first_name,total_price. - Böyük və kiçik hərflər fərqlidir:
agevəAgeiki ayrı dəyişəndir. - Python-un xüsusi sözlərini (
if,for,class,Truevə s.) ad kimi işlətmək olmaz. - Mənalı adlar seç:
priceadıx-dən qat-qat çox şey deyir.
Verilənlərin əsas tipləri
Hər qiymətin bir tipi var və tip həmin qiymətlə nə etmək olacağını müəyyən edir: ədədləri toplamaq, sətirləri isə birləşdirmək olar. Python tipi özü müəyyən edir, onu ayrıca yazmağa ehtiyac yoxdur.
| Tip | Nədir | Nümunələr |
|---|---|---|
int | tam ədəd | 14, -3, 2026 |
float | həqiqi ədəd (onluq kəsr) | 1.62, 3.14, -0.5 |
str | sətir (mətn) | 'Baku', '42' |
bool | məntiqi qiymət | True, False |
Qiymətin tipini type() funksiyası ilə yoxlamaq olar.
print(type(14))
print(type(1.62))
print(type('Baku'))
print(type(True))
print(type('42'))▸ Gözlənilən nəticə
<class 'int'> <class 'float'> <class 'str'> <class 'bool'> <class 'str'>
Son sətrə diqqət et: '42' dırnaq içində olduğu üçün ədəd deyil, sətirdir. True və False isə «bəli» və «xeyr» cavablarıdır — şərtlər dərsində onlar çox lazım olacaq.
Hesab əməlləri
| Operator | Əməl | Nümunə | Nəticə |
|---|---|---|---|
+ | toplama | 7 + 2 | 9 |
- | çıxma | 7 - 2 | 5 |
* | vurma | 7 * 2 | 14 |
/ | bölmə | 7 / 2 | 3.5 |
// | tam bölmə | 7 // 2 | 3 |
% | bölmədən qalıq | 7 % 2 | 1 |
** | qüvvətə yüksəltmə | 7 ** 2 | 49 |
Leyla hər biri 2,5 manat olan 3 dəftər alır. Hesablamanı Python-a tapşıraq və digər operatorları da yoxlayaq.
price = 2.5
count = 3
total = price * count
print('Total:', total)
print(17 // 5, 17 % 5)
print(2 ** 10)
print(2 + 3 * 4, (2 + 3) * 4)▸ Gözlənilən nəticə
Total: 7.5 3 2 1024 14 20
Python riyaziyyatdakı əməllərin ardıcıllığına riayət edir: əvvəlcə qüvvətə yüksəltmə, sonra *, /, //, %, ən sonda isə + və -. Ardıcıllığı dəyişmək üçün mötərizədən istifadə et: 2 + 3 * 4 14 verir, (2 + 3) * 4 isə 20.
Film 135 dəqiqə davam edir. Bu, neçə saat və neçə dəqiqədir?
Həllini göstərHəllini gizlət
// ilə tapırıq: 135 // 60 = 2.Qalan dəqiqələri
% ilə tapırıq: 135 % 60 = 15.Cavab: 2 saat 15 dəqiqə.
minutes = 135
hours = minutes // 60
rest = minutes % 60
print(hours, 'h', rest, 'min')▸ Gözlənilən nəticə
2 h 15 min
Dəyişəni öz qiymətinə görə yeniləmək çox tez-tez lazım olur, ona görə Python-da qısa yazılış var: score += 10 ilə score = score + 10 eyni şeydir. -=, *= və /= də eyni qaydada işləyir.
score = 0
score += 10
score += 5
score -= 3
score *= 2
print('Score:', score)▸ Gözlənilən nəticə
Score: 24
Tiplərin çevrilməsi
Ədədi sətirlə birbaşa toplamaq olmaz: '5' + 5 yazsan, Python TypeError xətası verəcək, çünki mətnlə ədədi necə birləşdirəcəyini bilmir. Belə hallarda qiyməti lazım olan tipə çevirmək lazımdır: int() tam ədədə, float() həqiqi ədədə, str() isə sətrə çevirir.
text = '25'
number = int(text)
print(number + 5)
print(text + '5')
print(float('3.5') * 2)
print('Age: ' + str(14))
print(int(7.9))▸ Gözlənilən nəticə
30 255 7.0 Age: 14 7
text + '5' iki sətri yan-yana yapışdırdığı üçün 255 alınır — bu, iki yüz əlli beş ədədi deyil, 2, 5 və 5 simvollarından ibarət mətndir.
Otaq düzbucaqlı formasındadır: eni width = 7, uzunluğu height = 4 (metrlə). Sahəni area dəyişəninə, perimetri isə perimeter dəyişəninə yaz, sonra iki sətir çap et: Area: və sahə, Perimeter: və perimetr.
width = 7
height = 4
# area = ...
# perimeter = ...
# print Area: and Perimeter:▸ Gözlənilən nəticə
Area: 28 Perimeter: 22
47 konfet 6 uşaq arasında bərabər bölünür. Ədədlər sətir kimi verilib ('47' və '6'). Onları int() ilə ədədə çevir, sonra iki sətir çap et: Each child: və hər uşağa düşən konfet sayı, Left over: və artıq qalan konfetlər.
candies_text = '47'
children_text = '6'
# 1) convert both strings to int
# 2) print Each child: and the share (use //)
# 3) print Left over: and the rest (use %)▸ Gözlənilən nəticə
Each child: 7 Left over: 5
Əsas fikirlər
- Dəyişən qiymətə verilən addır və
=(mənimsətmə) ilə yaradılır. - Əsas tiplər:
int,float,str,bool; qiymətin tipinitype()göstərir. /həmişəfloatverir,//bölmənin tam hissəsini,%isə qalığı hesablayır.x += 1yazılışıx = x + 1deməkdir.int(),float()vəstr()qiyməti bir tipdən digərinə çevirir;int()kəsr hissəsini atır.
Özünü yoxla
10 sual. Hər düzgün cavab XP qazandırır.
x = 5 və sonra x = x + 2 yazılıb. print(x) nə göstərəcək?