Основни типове данни в Python

Print Friendly, PDF & Email
Звезда неактивнаЗвезда неактивнаЗвезда неактивнаЗвезда неактивнаЗвезда неактивна
 
Категория: Python Написана от К. Димитров

📦 Урок: Основни типове данни в Python

Представете си, че правите списък за пазаруване или пишете съобщение на приятел. В програмирането всяко парче информация има своята „категория“.

  1. Цели числа (int – Integer)

Това са числата без запетая. Използваме ги, когато броим неща, които не могат да бъдат „половинки“.

  1. Дробни числа (float – Floating point)

Това са числата с десетична запетая (в програмирането използваме точка .). Използваме ги за измервания.

  1. Текст (str – String)

Всичко, което е заградено в кавички, се счита за текст (низ). Може да съдържа букви, цифри и символи.

  1. Булев тип (bool – Boolean)

Това е най-лесният, но и най-важният тип за логиката. Той има само две възможни стойности: Истина или Лъжа.

📊 Бърза справка

Тип в Python

Име

Какво представлява?

Пример

int

Integer

Цели числа

10, -5

float

Float

Дробни числа

3.14, 10.0

str

String

Текст в кавички

"Здравей!"

bool

Boolean

Логическа стойност

True или False

🛠️ Как да проверим типа в Python?

Ако се чудим какъв тип е дадена променлива, използваме магическата функция type().

Python

x = 10

print(type(x))  # Ще изпише <class 'int'>

 

y = "10"

print(type(y))  # Ще изпише <class 'str'>, защото има кавички!

Важно за 7. клас: Обърнете внимание, че 10 и "10" са различни неща за компютъра! С първото можем да смятаме, а второто е просто картинка на числото.

 

Въпроси:

🎮 Ниво 1: „Кой е моят тип?“

Определи какъв тип данни (int, float, str или bool) е всяка от следните променливи:

  1. username = "Cyber_Knight"
  2. posts_count = 42
  3. rating = 4.8
  4. is_online = False
  5. phone_number = "0888123456"

🔍 Ниво 2: „Детектив в кода“

Един програмист е направил грешки в кода си. Можеш ли да познаеш кой ред ще даде грешка (Error) и защо?

Python

# Ред 1

print(5 + 10)

 

# Ред 2

print("5" + "10")

 

# Ред 3

print("5" + 10)

Подсказка: Компютърът е малко инатлив – не обича да смесва различни типове в една сметка.

🧪 Ниво 3: „Магьосникът на преобразуването“

Понякога се налага да променим типа на данните (това се нарича casting). Опитай се да отгатнеш какво ще изпише Python накрая:

Python

number_as_text = "20"

converted_number = int(number_as_text) # Променяме го на цяло число

 

result = converted_number + 5

print(result)

Какъв ще е крайният резултат?

🏆 Бонус предизвикателство (за отличници):

Каква е разликата между тези две променливи?

 

Решения:

🎮 Отговори: Ниво 1 (Кой е моят тип?)

  1. str (String) – Има кавички, значи е текст.
  2. int (Integer) – Цяло число (брой постове).
  3. float – Има десетична точка.
  4. bool (Boolean) – Логическо "Лъжа".
  5. str (String) – Важно! Макар да виждаме цифри, те са в кавички. Телефоните често се записват като текст, защото не искаме да ги събираме или изваждаме, а и често започват с 0.

🔍 Отговори: Ниво 2 (Детектив в кода)

🧪 Отговори: Ниво 3 (Магьосникът)

Резултатът е 25. Магията тук е във функцията int(). Тя взема текста "20", маха му кавичките и го превръща в истинско число. След това 20 + 5 си е чиста математика.

🏆 Бонус за отличници:

 

Да направим една малка програма, която пита потребителя за неговото име и години и ги подрежда в изречение?

Ще използваме две много важни команди:

  1. input() – за да зададем въпрос на потребителя.
  2. print() – за да покажем резултата.

 

# 1. Питаме за името (това автоматично е string/текст)

name = input("Как се казваш? ")

# 2. Питаме за годините

# ВНИМАНИЕ: input() винаги връща текст, затова го превръщаме в число с int()

age = int(input("На колко години си? "))

# 3. Изчисляваме след колко години ще станеш на 100

years_to_100 = 100 - age

# 4. Показваме резултата

print("Здравей, " + name + "!")

print("След " + str(years_to_100) + " години ще празнуваш своя 100-тен рожден ден! 🎂")

🕵️‍♂️ Какво се случва?

Когато програмата работи, тя обработва данните по следния начин:

🚀 Предизвикателство за теб:

Опитай се да добавиш нов ред в програмата, който пита: "Колко е джобният ти за деня?".

 

Ето как би изглеждал кодът, ако добавим и сметката за джобните. Обърни внимание на float(), защото парите често имат стотинки:

# Питаме за джобните и ги превръщаме в дробно число (float)

daily_money = float(input("Колко лева са джобните ти за един ден? "))

# Изчисляваме за една седмица (7 дни)

weekly_money = daily_money * 7

print("За една седмица ще имаш общо " + str(weekly_money) + " лева! 💸")

🤔 Защо използваме float() тук?

Ако потребителят напише, че получава 5.50 лв., и ние използваме int(), програмата ще „гръмне“ (ще даде грешка), защото int не разбира от десетични точки. float е по-сигурният избор за всичко, свързано с пари или измервания.

🍎 Домашно: Програма „Плодов Магазин“

Твоята задача:

Напиши програма на Python, която прави следното:

  1. Пита потребителя: „Кой плод купувате днес?“ (тип str)
  2. Пита за цената: „Каква е цената за 1 кг?“ (използвай float, защото цените имат стотинки).
  3. Пита за количеството: „Колко килограма искате?“ (може да е float, ако някой си купи 1.5 кг).
  4. Пресмята общата сума: Умножи цената по килограмите.
  5. Изписва резултата по следния начин:

„Вие купихте [плод] за общо [сума] лева. Приятен ден!“

 

Помощни насоки за кода:

 

Ето го правилното решение на задачата стъпка по стъпка. Това е „класическият“ начин, по който се пишат малки програми за пресмятане:

 

# 1. Питаме за името на плода

fruit = input("Кой плод купувате днес? ")

# 2. Питаме за цената (превръщаме в float за стотинки)

price_per_kg = float(input("Каква е цената за 1 кг? "))

# 3. Питаме за количеството (също float, защото може да е 1.5 кг)

quantity = float(input("Колко килограма искате? "))

# 4. Пресмятаме общата сума

total_sum = price_per_kg * quantity

# 5. Изписваме крайния резултат

# Използваме str(), за да залепим числото към текста

print("Вие купихте " + fruit + " за общо " + str(total_sum) + " лева. Приятен ден!")

 

🔍 Защо това решение работи?

  1. Променливите: Създадохме три кутии (fruit, price_per_kg, quantity), за да пазим отговорите на потребителя.
  2. Математиката: Използвахме оператора * за умножение. Тъй като и двете числа са float, резултатът също ще бъде float.
  3. Сглобяването: Python не ни позволява да кажем директно "цена: " + 5.50. Затова използвахме str(total_sum), за да превърнем числото обратно в текст, преди да го покажем на екрана.

🚀 Какво следва?

Вече можеш да създаваш програми, които:

 

# 1. Питаме за името на плода

fruit = input("Кой плод купувате днес? ")

# 2. Питаме за цената

price_per_kg = float(input("Каква е цената за 1 кг? "))

# 3. Питаме за количеството

quantity = float(input("Колко килограма искате? "))

# 4. Пресмятаме общата сума и я ЗАКРЪГЛЯМЕ до 2 знака още тук

# Функцията round(число, 2) прави точно това

total_sum = round(price_per_kg * quantity, 2)

# 5. Изписваме крайния резултат по твоя начин

print("Вие купихте " + fruit + " за общо " + str(total_sum) + " лева. Приятен ден!")

 

Какво се случва тук?

 

 Продължи с теста