Новини от 51 СУ

DJI_0248.JPG

Търсене

Python

Print Friendly, PDF & Email
Print Friendly, PDF & Email
Звезда неактивнаЗвезда неактивнаЗвезда неактивнаЗвезда неактивнаЗвезда неактивна

 

  1. Какво е списък (List)?

Представи си списъка като голяма кутия с отделения. Във всяко отделение можеш да сложиш различно нещо – име, число или дори друг списък. В Python списъците се ограждат с квадратни скоби [], а елементите се разделят със запетая.

Пример:

Python

 

plodove = ["ябълка", "банан", "череша"]

chisla = [1, 2, 3, 4, 5]

mesheno = ["Иван", 14, True]

  1. Индексиране (Как да намерим елемент?)

Всеки елемент в списъка си има точно място, наречено индекс.

Важно: В програмирането броенето винаги започва от 0, а не от 1!

  • plodove[0] е "ябълка"
  • plodove[1] е "банан"
  • plodove[2] е "череша"
  1. Основни операции със списъци

Ето най-често използваните команди, които ще ти трябват за упражненията:

Команда

Какво прави?

Пример

len(spisak)

Намира дължината (броя елементи).

len(plodove) -> 3

.append(елемент)

Добавя нов елемент накрая.

plodove.append("киви")

.insert(индекс, елемент)

Вмъква елемент на конкретно място.

plodove.insert(1, "портокал")

.remove(елемент)

Изтрива елемент по неговото име.

plodove.remove("банан")

del spisak[индекс]

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

del plodove[0]

 

  1. Практическа задача

Опитай се да напишеш следната програма (или я проиграй наум):

  1. Създай списък klasс три имена на твои съученици.
  2. Добави още едно име накрая с append.
  3. Промени второто име в списъка (индекс 1) на "Петър".
  4. Принтирай колко е дълъг списъкът накрая.

Решение:

Python

 

klas = ["Ани", "Боян", "Виктор"]

klas.append("Георги")

klas[1] = "Петър"

 

print("Списъкът е:", klas)

print("Брой ученици:", len(klas))

Какво е range()?

В Python range() (от англ. обхват) е вградена функция, която генерира поредица от числа. Тя е изключително полезна, когато искаш да направиш списък с числа или да повториш нещо определен брой пъти.

  1. Как се използва?

Функцията може да приема до три параметъра: range(старт, край, стъпка).

  • range(n): Генерира числа от 0 до n-1. (Числото n не се включва!).
    • range(5) -> 0, 1, 2, 3, 4
  • range(start, end): Започва от start и спира преди end.
    • range(2, 6) -> 2, 3, 4, 5
  • range(start, end, step): Добавя числото step при всяко следващо число.
    • range(1, 10, 2) -> 1, 3, 5, 7, 9 (само нечетните)
  1. Как да превърнем rangeв истински списък?

Ако просто напишеш print(range(5)), Python ще ти отговори малко странно: range(0, 5). За да го превърнеш в истински списък, който можеш да видиш и променяш, използваме функцията list().

Примери:

Python

 

# Списък с числата от 0 до 9

chisla = list(range(10))

print(chisla) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

# Списък с десетиците от 10 до 50

desetitsi = list(range(10, 51, 10))

print(desetitsi) # [10, 20, 30, 40, 50]

  1. Защо ни е нужно това? (Приложение)

Най-често range се използва в цикли, но в 7. клас е важно да знаеш как бързо да генерираш данни.

Задача за теб: Представи си, че трябва да направиш списък с всички четни числа от 2 до 20 включително. Вместо да пишеш [2, 4, 6...], можеш да го направиш на един ред!

Опитай този код:

Python

 

chetni = list(range(2, 21, 2))

print("Четните числа са:", chetni)

🛠️ Малко предизвикателство с range:

Можеш ли да създадеш списък, който брои назадПодсказка: Стъпката трябва да бъде отрицателно число (например -1).

 

Print Friendly, PDF & Email
Звезда неактивнаЗвезда неактивнаЗвезда неактивнаЗвезда неактивнаЗвезда неактивна

Как работи отрицателното индексиране?

В Python (и в много други езици за програмиране) можем да броим елементите в списъка по два начина:

  1. Отляво надясно (Положителни индекси): Започваме от 0. Първият е 0, вторият е 1 и т.н.

  2. Отдясно наляво (Отрицателни индекси): Започваме от -1. Това е "бърз път" за достъп до последния елемент в списъка, без да е необходимо да знаем точно колко елемента има в него.

Разбор на твоя пример:

Нека погледнем списъка dogs от учебника:

dogs = ["корги", "лабрадор", "пудел", "джак ръсел"]

  • dogs[0] е "корги"

  • dogs[1] е "лабрадор"

  • dogs[2] е "пудел"

  • dogs[3] е "джак ръсел"

Отрицателното броене започва отзад напред:

  • dogs[-1]  -> "джак ръсел" (последният елемент)

  • dogs[-2]  -> "пудел"

  • dogs[-3]  -> "лабрадор"

  • dogs[-4]  -> "корги" (първият елемент)

Накратко за списъците (обобщение от учебника):

  • Подредба: Всеки елемент има точно определена позиция (индекс).

  • Индекси: Започват от 0 и стигат до дължината на списъка минус 1 ($len(списък) - 1$).

  • Достъп: Ако се опиташ да достъпиш индекс, който не съществува (например dogs[4]), Python ще изведе съобщение за грешка (IndexError).

Print Friendly, PDF & Email
Звезда неактивнаЗвезда неактивнаЗвезда неактивнаЗвезда неактивнаЗвезда неактивна

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

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

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

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

  • Примери: Брой ученици в клас (25), години (13), брой нива в игра.
  • В Python изглежда така: apples = 5
  1. Дробни числа (float – Floating point)

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

  • Примери: Цена на продукт (2.50), височина (1.65), успех в училище (5.75).
  • В Python изглежда така: price = 2.99
  1. Текст (str – String)

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

  • Примери: Име ("Иван"), град ("София"), парола ("p@ss123").
  • В Python изглежда така: name = "Георги"
  1. Булев тип (bool – Boolean)

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

  • Примери: Светната ли е лампата? (True/False), Преминат ли е изпитът?
  • В Python изглежда така: is_sunny = True

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

Тип в 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)

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

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

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

  • a = 5
  • b = 5.0

 

Решения:

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

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

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

  • Ред 1: Ще изпише 15 (Нормално събиране на числа).
  • Ред 2: Ще изпише 510. Изненада! Когато събираме два текста, Python просто ги „залепя“ един за друг.
  • Ред 3: ГРЕШКА! 🚨 Python не знае как да събере текст ("5") с число (10). Все едно да те попитам: „Колко е 5 метра + 10 килограма?“. Няма логичен отговор.

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

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

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

  • a = 5 е int (цели 5 лева).
  • b = 5.0 е float (5 лева и 0 стотинки). За нас е едно и също, но за компютъра 5.0 заема малко повече „място“ в паметта, защото винаги е готов да добави и други цифри след запетаята (например 5.12).

 

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

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

  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-тен рожден ден! 🎂")

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

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

  • Ред 2: Използваме int(input(...)). Ако не го направим, Python ще си мисли, че годините са текст (като "13"), и няма да може да извади 100 - "13".
  • Ред 4: Използваме str(years_to_100). Тук правим обратното – превръщаме числото в текст, за да можем да го „залепим“ към изречението с бутона +.

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

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

  • Подсказка: Използвай тип float, защото джобните могат да бъдат 5.50 лв.
  • След това пресметни колко пари ще има потребителят след 7 дни (умножи ги по 7).

 

Ето как би изглеждал кодът, ако добавим и сметката за джобните. Обърни внимание на 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. Изписва резултата по следния начин:

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

 

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

  • Не забравяй да превърнеш входа (input) в число, преди да смяташ.
  • Когато показваш общата сума накрая, не забравяй да я превърнеш обратно в текст със str().

 

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

 

# 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) + " лева. Приятен ден!")

 

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

  • Ако сметката е 2.66666, функцията round(..., 2) я превръща в 2.67.
  • След това str(total_sum) превръща това „чисто“ число в текст и го залепя към останалото изречение.

 

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

 

Print Friendly, PDF & Email
Звезда неактивнаЗвезда неактивнаЗвезда неактивнаЗвезда неактивнаЗвезда неактивна

 

1. Какво е Python?

Python (Пайтън) е език за програмиране от високо ниво. Той е един от най-популярните в света, защото се чете почти като английски език. Използва се за изкуствен интелект, създаване на игри и уебсайтове.

2. Средата за разработка (IDLE)

За да пишем на Python, използваме програма, наречена IDLE. Тя има два основни режима:

  • Интерактивен режим (Shell): Тук компютърът изпълнява командите веднага след като натиснете Enter. Подходящ е за бързи пресмятания.

  • Редакторски режим (Script Mode): Тук пишем цяла програма (код), записваме я като файл с разширение .py и след това я пускаме наведнъж (с клавиша F5).


3. Първи стъпки: Функцията print()

Най-важната команда в началото е print(). Тя казва на компютъра да изведе (изпише) нещо на екрана.

Важни правила:

  • Текстът винаги се поставя в кавички: "Здравей!"

  • Числата могат да бъдат без кавички.

Python
 
print("Здравей, 6. клас!")
print(2026)

4. Python като калкулатор

Python може да смята много бързо. Използваме стандартните знаци, но с малки разлики:

  • + (събиране)

  • - (изваждане)

  • * (умножение)

  • / (деление)

Пример: print(15 * 3) ще изведе резултат 45.


5. Променливи – „кутии“ за информация

Представете си променливата като кутия с етикет, в която държим стойност.

  • ime = "Иван"

  • godini = 12


Практическа задача (Упражнение)

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

  1. Създайте променлива grad и ѝ дайте стойност името на вашия град.

  2. Създайте променлива temperatura и запишете число.

  3. Използвайте print(), за да изпишете изречението: "В град ... днес е ... градуса."

Примерен код:

Python
 
grad = "София"
temperatura = 15
print("В град", grad, "днес е", temperatura, "градуса.")

💡 Бърз съвет за отличници:

В Python всяко малко нещо има значение – ако забравите кавичка или скоба, програмата ще даде Syntax Error (синтактична грешка). Не се плашете, това е просто начинът на компютъра да каже: „Не те разбрах, опитай пак!“


 

Математическите операции в Python са изключително интуитивни. Те следват стандартните правила на математиката, които познаваш от часовете, но с няколко специфични знака, които трябва да запомниш.

Ето как Python „мисли“, когато решава задачи:


1. Основни аритметични оператори

В Python използваме следните символи за основните пресмятания:

Операция Символ Пример Резултат
Събиране + 10 + 5 15
Изваждане - 20 - 8 12
Умножение * 4 * 3 12
Деление / 10 / 4 2.5

Важно: Резултатът от делението (/) в Python винаги е число с десетична запетая (тип float), дори ако се дели точно (например 4 / 2 ще даде 2.0).


2. Специални оператори за деление

Учебникът на „Домино“ обръща специално внимание на тези два оператора, които са много полезни при решаване на задачи с цели числа:

  • Целочислено деление (//): Пресмята колко пъти едно число се съдържа в друго и премахва остатъка.

    • Пример: 13 // 4  резултат 3 (защото 4 влиза 3 пъти в 13).

  • Остатък при деление (%): Намира само това, което остава след делението.

    • Пример: 13 % 4  резултат 1 (защото $4 \times 3 = 12$ и остава 1 до 13).


3. Степенуване

Ако искаш да повдигнеш число на степен (например $5^2$), в Python използваш двойна звездичка:

  • 5 ** 2 резултат 25

  • 2 ** 3  резултат 8


4. Ред на действията

Python спазва стандартния математически приоритет:

  1. Скоби () (винаги се изчисляват първи).

  2. Степенуване **.

  3. Умножение, деление, остатък (*, /, //, %).

  4. Събиране и изваждане (+, -).

Пример:

Python
 
print(2 + 3 * 4)   # Резултат: 14 (първо умножението)
print((2 + 3) * 4) # Резултат: 20 (първо скобите)

Практическо предизвикателство:

Представи си, че имаш 26 ябълки и искаш да ги разпределиш поравно в 5 щайги.

  • Колко ябълки ще има в една щайга? (Използвай //)

  • Колко ябълки ще останат извън щайгите? (Използвай %)

 

 

В Python имаме три вида деление. Нека ги разгледаме в детайли:


1. Стандартно деление: /

Това е делението, което познаваш от калкулатора. То винаги дава точен резултат, дори и с десетична запетая.

  • Пример: 7 / 2 = 3.5

  • Пример: 10 / 5 = 2.0 (Обърни внимание, че Python добавя .0, за да покаже, че е извършено деление).

2. Целочислено деление: // (Две наклонени черти)

Този оператор ни казва колко цели пъти едно число се съдържа в друго. Той просто "отрязва" всичко след десетичната запетая, без да закръгля.

  • Пример: 7 // 2 = 3 (2 влиза точно 3 пъти в 7).

  • Пример: 10 // 3 = 3 (3 влиза 3 пъти в 10, остатъкът не ни интересува тук).

3. Остатък при деление: % (Процент)

Това е операторът, който често обърква учениците в началото, но всъщност е много логичен. Той ни дава само остатъка, който получаваме, след като сме извършили целочисленото деление.

    • Пример: 7 % 2 = 1 

    • Пример: 10 % 3 = 1 

    • Пример: 12 % 4 = 0 


 

Таблица за сравнение

Операция Код Резултат Обяснение
Деление 17 / 5 3.4 Точен резултат
Цяла част 17 // 5 3 Колко петици има в 17? (3)
Остатък 17 % 5 2 Какво остава? (17 - 15 = 2)

За какво се използват в програмирането?

  1. Проверка за четност: Ако число % 2 е равно на 0, значи числото е четно. Ако е 1, значи е нечетно.

  2. Работа с време: Ако имаш 70 секунди, как да разбереш колко минути са?

    • 70 // 60 = 1 минута.

    • 70 % 60 = 10 секунди.

    • Резултат: 1 минута и 10 секунди.

  3. Разделяне на цифри: Ако имаш числото 45:

    • 45 // 10 ще ти даде първата цифра (4).

    • 45 % 10 ще ти даде втората цифра (5).


Малко предизвикателство за теб:

Ако имаш променлива total_eggs = 28 и искаш да ги подредиш в кори по 6 яйца:

  1. Кой оператор ще използваш, за да разбереш колко пълни кори ще имаш?

  2. Кой оператор ще ти каже колко яйца ще останат, за да си направиш омлет?

 

Print Friendly, PDF & Email
Звезда неактивнаЗвезда неактивнаЗвезда неактивнаЗвезда неактивнаЗвезда неактивна
a=1

b=1000

k=0

for i in range (a, b+1):

    print (i,"---->",end=" ")

    for j in range (1, i+1):

        if i%j==0:

            print (" ",j, end=" ")

            k=k+1

    print(" ---->",k, "делители")

    if k==2:

        print("просто число")

    print("\n")

    k=0