Документация по Python. Теоретические материалы, и практические задачи

Python задачи для начинающих

В Python задачи для начинающих, помогут закрепить полученные теоретические знания на практике. Практикуйте базовые концепции языка Python, такие как:

Список задач:

  1. Вычислите умножение и сумму двух чисел
  2. Сумма текущего и предыдущего числа
  3. Четные символы строки
  4. Удалить первые символы строки python
  5. Совпадает ли первый и последний номер в списке?
  6. Вывести из списка числа, кратные 5
  7. Python вхождение подстроки в строку
  8. Распечатайте цифры
  9. Является ли число палиндромом?
  10. Новый список из двух списков
  11. Извлечь каждую цифру из целого числа
  12. Таблица умножения
  13. Заключение

Приведенные ниже задачи python для начинающих, содержат 12 программ. Подсказка и решение приведены для каждой задачи. Вы можете сразу посмотреть решение задачи, но для вас будет намного эффективнее, если вы сами попробуете решить поставленную задачу.

Для каждой задачи, собраны все необходимые ссылки, которые обязательно помогут вам в решении. Собственные решения приветствуются, обязательно оставляйте свои решения в комментариях. В случае, если возникают проблемы, так же опишите свою проблему в комментариях.

Задача Python #1. Вычислите умножение и сумму двух чисел

Условия задачи. Верните результат умножения если, сумма умножения равна или больше 1000, в противном случае верните значение суммы двух чисел. Для решения данной задачи, можно ознакомиться:

Показать подсказку
  1. Создайте функцию, которая в качестве аргумента принимает два числа
  2. Внутри функции, умножаем наши числа, и сохраняем в переменной resultum
  3. Затем применяем конструкцию if…else, для того что бы проверить, является ли число хранящееся в resultum больше, либо равной 1000?
  4. В противном случае, в блок else, выводим сумму двух чисел.
Показать решение
a = int(input())
b = int(input())
def product(num1,num2):
    resultum = num1 * num2
    if resultum >= 1000:
        print(resultum)
    else:
        print(num1+num2)

product(a,b)

Задача Python #2. Сумма текущего и предыдущего числа

Напишите программу, которая использует цикл, для первых 10 чисел. В каждом цикле, ваша задача заключается в том, что бы вывести сумму, предыдущего и текущего числа.

Ожидаемый результат следующий:

Текущее Число 0 Предыдущее Число 0 Сумма: 0
Текущее число 1 Предыдущее Число 0 Сумма: 1
Текущее Число 2 Предыдущее Число 1 Сумма: 3
Текущее число 3 Предыдущее Число 2 Сумма: 5
Текущее Число 4 Предыдущее Число 3 Сумма: 7
Текущее Число 5 Предыдущее Число 4 Сумма: 9
Текущее Число 6 Предыдущее Число 5 Сумма: 11
Текущее число 7 Предыдущее Число 6 Сумма: 13
Текущее Число 8 Предыдущее Число 7 Сумма: 15
Текущее число 9 Предыдущее Число 8 Сумма: 17

Для решения данной задачи, вам необходимо хорошо ознакомиться со следующими темами:

Показать подсказку
  1. Создаем переменную num_prev и даём значение 0
  2. Запускаем цикл for, и используем функцию range()
  3. Создаем переменную x_sum, и передаем туда сумму значении i — (текущее число в итерации) — переменной num_prev
  4. Переменной num_prev присваиваем значение i
  5. Печатаем результат
Показать решение
print('Печать текущей и предыдущей суммы чисел в диапазоне (10)')
num_prev = 0

for i in range(0,11):
    x_sum = num_prev + i
    num_prev = i
    print(f'Текущее число {i},предыдущее число {num_prev}, сумма чисел {x_sum}')

Задача Python #3. Четные символы строки

Напишите программу, в которой пользователь вводит строку, а на выходе получаем четные символы из введенной строки. К примеру на входе мы получаем строку pydocs, на выходе p,d,c (0,2,4 — индексы).

Для решения этой задачи, вам необходимо хорошо ознакомиться со следующими темами:

Показать подсказку
  1. Используем функцию ввода пользователя
  2. Вычисляем длину строки с помощью функции len()
  3. Запускаем цикл for и функцию range()
  4. В функции range() используем 0,len(s)-1, 2. Шаг 2 — потому как, нам необходимы только четные номера индексов.
Показать решение
print('Печать текущей и предыдущей суммы чисел в диапазоне (10)')
str = input()
strlen = len(str)

for i in range(0,strlen,2):
    print(str[i])

Не забывайте, что у каждой задачи есть множество разных решений. Если вы решили по другому, это не означает, что это неправильно, возможно ваше решение превосходит мое решение. Не забываем публиковать свои решения, и вопросы в комментариях.

Задача #4. Удалить первые символы строки python

Напишите программу, которая удаляет первые n символов из строки, и верните новую строку.

Например:

  • remove_str(‘pydocs’, 2) — на выходе получаем новую строку docs. В данном случае удаляются первые два символа. Важно заметить, что n — должен быть меньше длины строки
Показать подсказку

Для решения этой задачи, можно воспользоваться нарезкой строк. К примеру, для удаления первых двух символов s[2:].

Показать решение
str = input('Введите строку')
strremove = int(input('Введите количество символов для удаления'))
def wordstr(str,n):
    x = str[n:]
    print(x)
wordstr(str,strremove)

Так же, для закрепления своих навыков по работе со строками, попробуйте решить задачи по строкам Python.

Задача #5. Совпадает ли первый и последний номер в списке?

Напишите функцию, которая возвращает True, если первый и последний номер в списке совпадает. В случае, если не совпадает, верните значение False. К примеру:

                    
list1 = [10,20,30,40,50,10]
list1 = [10,20,30,40,50,60]
#Ожидаемый результат
List1 - True
List2 - False

Для решения этой задачи, на этот раз подсказки не будет, попробуйте сами её решить, и выложите свое решение в комментариях.

Показать решение
list = [10,20,30,40,50,30]
print(list[0],'Значение первого индекса')
print(list[-1],'Значение последнего индекса')
def listsearch(list):
    if list[0] == list[-1]:
        print(True)
    else:
        print(False)

listsearch(list)

Задача #6. Вывести из списка числа, кратные 5

Напиши функцию, которая выводит из списка только те числа, которые являются кратными 5. В целом данная задача не является сложной, если возникнут сложности, ознакомьтесь со следующими темами:

Для задачи, так же не будет подсказок. Вы сможете решить её и без этого. Если возникнут сложности, не переживайте, это нормально, опишите в комментариях, свою проблему. Если вы решили задачу другим способом, так же опубликуйте свое решение в комментариях.

Показать решение
list = [10,20,16,40,21,30]
def listx(list):
    for i in list:
        if i % 5 == 0:
            print(i)

listx(list)

Задача #7. Python вхождение подстроки в строку

Напишите программу, которая проверяет количество вхождений подстроки в строку. К примеру дано:

                    
str = "Вася хороший программист. Будь как Вася"

Наша задача, написать программу, которая посчитает, сколько раз в этой строке встречается подстрока «Вася«. После того, как вы посчитаете, напечатайте сообщение о том, сколько раз появляется наша подстрока, в строке.

Показать решение
str_x = "Вася хороший программист. Будь как Вася"
count = 0
xstr = str_x.split()
for i in xstr:
    if i == 'Вася':
        count = count + 1
print(f'Вася появился в строке {count} раз')

Задача #8. Распечатайте цифры

Напишите программу, которая распечатает следующий вариант.

                    
1 
2 2 
3 3 3 
4 4 4 4 
5 5 5 5 5

Для решения этой задачи, вам пригодятся знания, по циклам, и вложенным циклам.

Показать решение
for i in range(1,10):
    for j in range(i):
        print(i, end=' ')
    print('\n')

Задача # 9. Является ли число палиндромом?

Напиши программу, которая проверяет, является ли число палиндромом? К примеру, пользователь вводит число 121, при чтении с обоих сторон цифра остается неизменной, значит это число палиндром. В противном случае, если при обратном чтении, число не является палиндромом, выведите сообщение, о том, что данное число, не является палиндромом.

Для решения данной задачи:

Показать решение
n1 = int(input("Введите целое число: "))
n2 = 0
n3 = n1
while n1 > 0:
    # находим остаток - последнюю цифру
    digit = n1 % 10
    # делим нацело - удаляем последнюю цифру
    n1 = n1 // 10
    # увеличиваем разрядность второго числа
    n2 = n2 * 10
    # добавляем очередную цифру
    n2 = n2 + digit
if n2 == n3:
    print(f'Число {n3}, является палиндромом')
else:
    print(f'Число {n3}, не является палиндромом')

Задача # 10. Новый список из двух списков

Напишите программу, которая на вход получает два списка. Из первого списка, извлекаются нечетные числа, из второго четные. Новые элементы добавляем в новый список, и выводим результат.

                    
list1=[10,20,30,45,75]
list2=[35,65,40,50,60]

Для решения данной задачи:

Показать подсказку
  • Создаем пустой список
  • Перебираем оба списка по заданным условиям
  • Добавляем результат в новый список
Показать решение
list1=[10,20,30,45,75]
list2=[35,65,40,50,60]
list3 = []

for i in list1:
    if i % 2 != 0:
        list3.append(i)
for j in list2:
    if j % 2 == 0:
        list3.append(j)
print(list3)

Задача #11. Извлечь каждую цифру из целого числа

Напишите программу, которая извлекает каждую цифру, из целого числа. К примеру, на входе программа получает число 123, а на выходе 1 2 3, каждое число по отдельности. Похожую задачу вы уже решили, попробуйте немного изменить код, и решить данную задачу. Для решения этой задачи, используйте цикл while.

Показать решение
number = int(input())
print("Введите число", number)
while number > 0:
    # Получаем последнюю цифрй
    digit = number % 10
    # удаляем последнюю цифру, и повторяем цикл
    number = number // 10
    print(digit, end=" ")

Задача #12. Таблица умножения

Напишите программу, которая выводит таблицу умножения. Ниже представлена ожидаемые выходные данные.

                    
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100

                
Показать подсказку
  1. Запускаем цикл for
  2. Используем функцию range() в диапазоне от 1 до 11
  3. Внутри первого цикла, запускаем второй цикл с тем же диапазоном
  4. Умножаем между собой множители из первого цикла(первый множитель) и второго внутреннего цикла(второй множитель)
Показать решение
for i in range(1, 11):
    for j in range(1, 11):
        print(i * j, end=" ")
    print("\t\t")

Заключение

Если вы сумели решить все приведенные задачи из этого блока, вы на верном пути, и совсем скоро вы станете мастером джедаем python. Если у вас не получилось решить задачи без подсказок, не переживайте, это нормально. Напишите в комментариях, где у вас возникли проблемы, или если вы нашли другое решение, так же опубликуйте его. В этом блоке задач, было 12 упражнений, но это конечно еще не все, практически по каждому блоку далее предусмотрены еще и другие тематические упражнения, охватывающие практически всю основу Python. Поэтому, если Python вас заинтересовал, то продолжайте решать задачи далее, по порядку.