Задачи для начинающих Python
На этой странице собраны 10 задач охватывающих общие направления Python, списки, функции, циклы и прочие. Решая подобные задачи, вы будете постепенно понимать и как устроено на практике программирование на Python.
Содержание:
- Сумма всех чисел
- Поиск среднего значения
- Проверка на паллиндром
- Поиск простых чисел
- Генерация Фибоначчи
- Вычисление среднего значения списка
- Поиск максимального элемента в списке
- Поиск наибольшего общего делителя
- Проверка на анаграмму
- Поиск суммы элемента на главной диагонали квадратной матрицы
1. Задача: Сумма всех чисел
Для начинающих в программировании на языке Python важно уметь решать различные задачи, чтобы набираться опыта и улучшать свои навыки. В этой статье мы рассмотрим пример решения одной из задач, которая может быть полезна для новичков.
Описание задачи
Представим, что у нас есть задача посчитать сумму всех чисел от 1 до N, где N — целое положительное число, включительно. Например, если N = 5, то сумма чисел будет равна 1 + 2 + 3 + 4 + 5 = 15.
Решение задачи на Python
def sum_numbers(n):
result = 0
for i in range(1, n+1):
result += i
return result
# Пример использования функции
n = 5
total_sum = sum_numbers(n)
print(f'Сумма чисел от 1 до {n} равна {total_sum}')
В данном примере мы создали функцию sum_numbers
, которая принимает один аргумент n
и использует цикл for
для подсчета суммы всех чисел от 1 до n
. Затем мы вызываем эту функцию с заданным значением n
(в данном случае 5) и выводим результат на экран.
2. Задача: Поиск среднего значения
Описание задачи
Допустим, у нас есть список чисел, и нам нужно найти среднее значение этого списка. Например, если у нас есть список [5, 10, 15, 20], то среднее значение будет равно (5 + 10 + 15 + 20) / 4 = 12.5.
Решение задачи на Python
def calculate_average(numbers):
total = sum(numbers)
avg = total / len(numbers)
return avg
# Пример использования функции
num_list = [5, 10, 15, 20]
average_value = calculate_average(num_list)
print(f'Среднее значение списка {num_list} равно {average_value}')
В данном примере мы создали функцию calculate_average
, которая принимает список чисел numbers
. Мы сначала находим сумму всех чисел в списке при помощи функции sum()
, а затем делим это значение на количество элементов в списке (len(numbers)
), чтобы найти среднее значение.
Затем мы вызываем функцию calculate_average
с заданным списком чисел [5, 10, 15, 20]
и выводим результат на экран.
Решая подобные задачи, начинающие программисты могут закрепить свои знания о работе с коллекциями данных и математическими операциями в Python.
3. Задача: Проверка на палиндром
Описание задачи
Палиндром — это слово, фраза или последовательность символов, которая читается одинаково как слева направо, так и справа налево. Например, «radar» и «level» являются палиндромами. Мы можем написать программу на Python, которая проверяет является ли строка палиндромом.
Решение задачи на Python
def is_palindrome(word):
word = word.lower() # Приводим все символы к нижнему регистру для учитывания регистра
reversed_word = word[::-1]
return word == reversed_word
# Пример использования функции
input_word = 'level'
if is_palindrome(input_word):
print(f'Слово "{input_word}" является палиндромом')
else:
print(f'Слово "{input_word}" не является палиндромом')
В данном примере мы создали функцию is_palindrome
, которая принимает строку word
и проверяет, является ли она палиндромом. Мы приводим все символы строки к нижнему регистру с помощью метода lower()
, затем переворачиваем строку при помощи среза [::1]
и сравниваем исходную строку с перевернутой.
Затем мы вызываем функцию is_palindrome
с заданным словом 'level'
и выводим соответствующее сообщение о том, является ли это слово палиндромом или нет.
4. Задача: Поиск простых чисел
Описание задачи
Простое число — это натуральное число, большее единицы, которое имеет ровно два различных натуральных делителя: 1 и само число. Мы можем написать программу на Python, которая будет искать простые числа в определенном диапазоне.
Решение задачи на Python
def is_prime(number):
if number < 2:
return False
for i in range(2, int(number**0.5) + 1):
if number % i == 0:
return False
return True
# Пример использования функции
for num in range(1, 20):
if is_prime(num):
print(f'{num} - простое число')
В данном примере мы создали функцию is_prime
, которая принимает число number
и проверяет, является ли оно простым. Мы сначала проверяем, что число больше или равно 2, затем используем цикл for
для перебора всех чисел от 2 до квадратного корня из числа, и проверяем делится ли число на каждый из этих делителей. Если делитель найден, возвращается значение False
, иначе возвращается True
.
Затем мы используем эту функцию для вывода всех простых чисел в диапазоне от 1 до 20.
5. Задача: Генерация Фибоначчи
Описание задачи
Последовательность Фибоначчи — это числовая последовательность, где каждое число равно сумме двух предыдущих чисел. Например, если начать с 0 и 1, первые несколько чисел последовательности будут выглядеть как 0, 1, 1, 2, 3, 5, 8 и т.д. Мы можем написать программу на Python, которая будет генерировать числа Фибоначчи до определенного значения.
Решение задачи на Python
def generate_fibonacci(n):
fib_sequence = [0, 1]
while fib_sequence[-1] + fib_sequence[-2] <= n:
fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
return fib_sequence
# Пример использования функции
n = 50
fib_numbers = generate_fibonacci(n)
print(f'Числа Фибоначчи до {n}: {fib_numbers}')
В данном примере мы создали функцию generate_fibonacci
, которая генерирует числа Фибоначчи до значения n
. Мы создаем список fib_sequence
с начальными значениями 0 и 1, затем используем цикл while
, чтобы добавлять новые числа в последовательность, пока их сумма не превысит значение n
.
Затем мы вызываем эту функцию с заданным значением n = 50
и выводим полученную последовательность чисел Фибоначчи.
6. Задача: Вычисление среднего значения списка
Описание задачи
Необходимо написать программу на Python, которая вычисляет среднее значение списка чисел.
Решение задачи
def calculate_average(numbers):
total = sum(numbers)
avg = total / len(numbers)
return avg
# Пример использования функции
num_list = [5, 10, 15, 20]
average_value = calculate_average(num_list)
print(f'Среднее значение списка {num_list} равно {average_value}')
7. Задача: Поиск максимального элемента в списке
Описание задачи
Необходимо написать программу на Python, которая находит максимальный элемент в данном списке чисел.
Решение задачи
def find_max_element(nums):
max_num = max(nums)
return max_num
# Пример использования функции
numbers = [7, 15, 3, 22, 9, 6]
max_number = find_max_element(numbers)
print(f'Максимальный элемент в списке {numbers} равен {max_number}')
8. Задача: Проверка на анаграмму
Описание задачи
Напишите программу на Python, которая проверяет, являются ли две введенные пользователем строки анаграммами (т.е., содержат ли строки одинаковые символы в разном порядке).
Решение задачи
def check_anagram(str1, str2):
return sorted(str1.lower()) == sorted(str2.lower())
# Пример использования функции
word1 = "listen"
word2 = "silent"
if check_anagram(word1, word2):
print(f'Строки "{word1}" и "{word2}" являются анаграммами.')
else:
print(f'Строки "{word1}" и "{word2}" не являются анаграммами.')
9. Задача: Поиск наибольшего общего делителя (НОД) двух чисел
Описание задачи
Напишите программу на Python, которая найдет наибольший общий делитель (НОД) двух заданных чисел.
Решение задачи
def find_gcd(a, b):
while b:
a, b = b, a % b
return a
# Пример использования функции
num1 = 48
num2 = 18
gcd_result = find_gcd(num1, num2)
print(f'Наибольший общий делитель чисел {num1} и {num2}: {gcd_result}')
10. Задача: Поиск суммы элементов на главной диагонали квадратной матрицы
Описание задачи
Напишите программу на Python, которая будет находить сумму элементов на главной диагонали квадратной матрицы.
Решение задачи
def sum_diagonal(matrix):
diagonal_sum = 0
for i in range(len(matrix)):
diagonal_sum += matrix[i][i]
return diagonal_sum
# Пример использования функции
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
diagonal_sum_result = sum_diagonal(matrix)
print(f'Сумма элементов на главной диагонали матрицы: {diagonal_sum_result}')