Python програмирането е отличен избор за начинаещи, които искат да навлязат в света на ИТ по достъпен начин. Неговият лесен синтаксис и разбираемост го правят идеално начало.
Както всяко ново умение, за да овладеете Python, е необходимо да се упражнявате редовно. В статията сме събрали няколко разнообразни задачи на Python, заедно с техните решения, предназначени да ви помогнат да упражнявате уменията си за програмиране.
Независимо дали сте начинаещ, или вече имате някакъв опит, тези упражнения ще ви предизвикат и ще подобрят уменията ви.
Задачи за упражнение по програмиране с Python
1. Марко Поло
Напишете програма на Python, която отпечатва числата от 1 до 100 със следните условия:
За числа, кратни на 3, програмата трябва да изкара “Марко”
За числа, кратни на 5, програмата трябва да изкара “Поло”
За числа, кратни на 3 и на 5, програмата трябва да изкара “МаркоПоло”
2. Проверка на палиндром
Палиндромът е дума, която се чете по същия начин както напред, така и назад (например “капак”). Напишете функция на Python, която проверява дали даден стринг е палиндром.
3. Поредица на Фибоначи
Последователността на Фибоначи е поредица, в която всеки следващ член е сумата от предишните два члена. Първите два члена са 0 и 1. Напишете програма на Python, която да генерира последователността на Фибоначи до n-тия член.
4. Проверка на просто число
Просто число е число, по-голямо от 1, което няма други делители освен 1 и самото себе си. Напишете функция на Python, която да проверява дали дадено число е просто число.
5. Проверка на анаграма
Две думи са анаграми, ако съдържат едни и същи символи с еднаква честота (например “бира - риба”). Напишете функция на Python, която проверява дали два стринга са анаграми.
6. Броене на гласни
Напишете функция на Python за преброяване на броя на гласните в даден стринг.
7. Сума от цифри
Напишете функция на Python за изчисляване на сумата от цифрите на дадено число (например 146 → 1+4+6 = 11).
8. Обръщане на стринг
Напишете функция на Python за обръщане на даден стринг (например конфитюр - рютифнок).
9. Изчисляване на факториал
Факториалът на дадено число е произведението на всички цели положителни числа, по-малки или равни на него. Напишете функция на Python за изчисляване на факториала на дадено число с помощта на рекурсия.
10. Намиране на най-голям елемент в списък
Напишете функция на Python за намиране на най-големия елемент в даден списък.
Как ви се струват задачите - лесни или сложни? Във всеки случаи, отдолу ще намерите решенията им. Дори да имате грешки, не забравяйте, че това е възможност да се научите от тях и да усъвършенствате знанията и уменията си по програмиране с Python.
Напомняме ви, че Advance Academy организира обучение по програмиране с Python - за по-малко от шест месеца ще се запознаете с Пайтън в дълбочина и ще придобиете нужните знания да започнете успешна кариера в IT сектора.
Решения на задачи за упражение по Python програмиране
Задача 1
for i in range(1, 101):
if i % 3 == 0 and i % 5 == 0:
print("МаркоПоло")
elif i % 3 == 0:
print("Марко")
elif i % 5 == 0:
print("Поло")
else:
print(i)
Този код преминава през числата от 1 до 100. За всяко число се проверява дали то се дели на 3 и 5, само на 3 или само на 5 и се отпечатва съответната дума. Ако нито едно от тези условия не е изпълнено, отпечатва самото число.
Задача 2
def is_palindrome(s):
return s == s[::-1]
# Test the function
print(is_palindrome("капак")) # Output: True
print(is_palindrome("муха")) # Output: False
Тази функция проверява дали стрингът е равен на обратната си стойност. “s[::-1]” създава обърната версия на стринга s.
Задача 3
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
print(a, end=" ")
a, b = b, a + b
# Generate the first 10 terms
fibonacci(10)
Този код инициализира първите два члена на последователността на Фибоначи и използва цикъл за генериране и отпечатване на последователността до n-тия член.
Задача 4
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
# Test the function
print(is_prime(29)) # Output: True
print(is_prime(15)) # Output: False
Тази функция проверява за множители на числото от 2 до квадратния корен на числото. Ако бъдат открити фактори, числото не е просто.
Задача 5
def are_anagrams(str1, str2):
return sorted(str1) == sorted(str2)
# Test the function
print(are_anagrams("майка", "кайма")) # Output: True
print(are_anagrams("мишка", "котка")) # Output: False
Тази функция сортира двата стринга и ги сравнява. Ако при сортирането те са еднакви, стринговете са анаграми.
Задача 6
def count_vowels(s):
vowels = "аъоуеиАЪОУЕИ"
return sum(1 for char in s if char in vowels)
# Test the function
print(count_vowels("Адванс Академи")) # Output: 6
print(count_vowels("Пайтън програмиране")) # Output: 7
Тази функция преминава през стринга и преброява символите, които са гласни, като използва набор от гласни за сравнение.
Задача 7
def sum_of_digits(n):
return sum(int(digit) for digit in str(n))
# Test the function
print(sum_of_digits(1234)) # Output: 10
print(sum_of_digits(567)) # Output: 18
Тази функция преобразува числото в стринг, за да премине през всяка цифра, преобразува всяка цифра обратно в цяло число и след това ги сумира.
Задача 8
def reverse_string(s):
return s[::-1]
# Test the function
print(reverse_string("Адванс")) # Output: "снавдА"
print(reverse_string("академи")) # Output: "имедака"
Тази функция използва т.нар. slicing на стринга, за да го обърне.
Задача 9
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# Test the function
print(factorial(5)) # Output: 120
print(factorial(7)) # Output: 5040
Тази рекурсивна функция се извиква с n-1, докато достигне 0, след което връща 1. Резултатите от всяко рекурсивно извикване се умножават, за да се получи факториалът.
Задача 10
def find_largest(lst):
if not lst:
return None
largest = lst[0]
for item in lst:
if item > largest:
largest = item
return largest
# Test the function
print(find_largest([1, 2, 3, 4, 5])) # Output: 5
print(find_largest([-1, -2, -3, -4, -5])) # Output: -1
Тази функция инициализира най-голямата стойност с първия елемент от списъка, след което преминава през списъка, за да намери и върне най-големия елемент.
Практикуването на Python чрез упражнения е ефективен начин да подобрите уменията си за програмиране.
Задачите по-горе обхващат различни аспекти на програмирането в Python - от основен синтаксис и структури от данни до по-сложни концепции като рекурсия.
Като работите по тези задачи и разбирате техните решения, можете да изградите солидна основа в Python и да станете по-умел програмист. Продължавайте да програмирате и не се страхувайте да се предизвиквате с нови и по-сложни проблеми, докато напредвате.