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

Циклы и условия python

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

  • Конструкция if-else (Условия для принятия того, или иного решения)
  • Цикл for (Для перебора последовательных элементов)
  • Функция range( Повторить то, или иное действие определенное количество раз)
  • Цикл while (Повторение одного и того же условия, до тех пор, пока условия является истинным)
  • Break и Continue (Прервать или продолжить цикл)
  • Вложенные циклы (цикл внутри цикла)

Циклы и условия python

В данном блоке задач, собраны 12 практических программ, которые вам предстоит написать.

  • Задачи с использование цикла и конструкций if-else
  • Для всех задач решения присутствуют, и тестировались они на Python 3.9
  • Задачи представленные в данном блоке, несут практический опыт. Решайте задачи, и практикуйте свои навыки по циклам и условиям Python

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

Содержание:

  1. Вывести первые 10 натуральных чисел
  2. Вывести шаблон чисел
  3. Вычислите сумму всех чисел от 1 до заданного числа
  4. Таблица умножения
  5. Перебор элементов списка
  6. Количество чисел в цифре
  7. Вывести список в обратном порядке
  8. Используем блок else для отображения сообщения
  9. Вывести простые числа python
  10. Python факториал числа
  11. Вывести числа нечетных позиций списка
  12. Куб числа Python

Задача 1. Вывести первые 10 натуральных чисел

Смотрите тему: Цикл while

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

Если вы хорошо усвоили теоретический материал, то вам не составит труда решить данную задачу.

Показать решение
i = 1
while i <= 10:
    print(i)
    i += 1

Задача 2. Вывести шаблон чисел

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

                    
1 2 3 4 5 
2 3 4 5 
3 4 5 
4 5 
5
Показать подсказку
  • Создаём цикл for с функцией range()
  • Внутри первого цикла, создаем внутренний цикл с функцией range()
  • Перебираем во внутреннем цикле, результат перебора внешнего цикла
  • Печатаем результат
Показать решение
for i in range(1,6):
    for j in range(i,6):
        print(j,end=' ')
    print('')

Задача 3. Вычислите сумму всех чисел от 1 до заданного числа

Напишите программу, которая вычисляет сумму всех чисел от 1 до заданного пользователем числа. К примеру, пользователь ввел число 10, на выходе программа должна сложить все числа от 1 до 10, и выдать нам результат 55.

                    
Введите число 10
Сумма составляет: 55
Показать подсказку
  • В первую очередь создаем переменную n, и используем функцию input() для пользовательского ввода
  • Переводим эту переменную в тип данных int()
  • Создаем переменную s, в ней будем хранить суммы предыдущих чисел
  • Запускаем цикл for и функцию range()
  • При каждой итерации цикла, складываем предыдущие числа (s += i)
Показать решение
n = int(input())
s = 0
for i in range(1,n + 1, 1):
    s += i
    print(s)

Конечно у данной задачи, как и у остальных, есть много разных альтернативных решений, но в качестве дополнительного решения, попробуйте воспользоваться стандартной функцией sum(). Выложите свое решение в комментариях.

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

Напишите программу, для печати таблицы умножения для заданного числа. К примеру если num = 2, то ожидаемые выходные данные, должны быть следующими:

Показать подсказку
  • Объявляем переменную n
  • Запускаем цикл for для повторения первых 10 чисел
  • При каждой итерации цикла, умножаем на 2 текущее число (s = n * i)
  • Выводим результат умножения
Показать решение
n = 2

for i in range(1, 11, 1):
    product = n * i
    print(product)

Задача 5. Перебор элементов списка

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

  1. Число кратное 5
  2. Если число больше 150, то пропускаем, и идем к следующему числу
  3. Если число больше 500, останавливаем цикл

В качестве входных данных используйте данный список:

                    
numbers = [12, 75, 150, 180, 145, 525, 50]

Для решения задачи почитайте тему, про операторов Break, Continue.

Показать подсказку
  • Запускаем цикл for для перебора элементов списка
  • Используем конструкцию break для разрыва цикла, если текущий элемент больше 500
  • Используем continue, для перехода к следующему числу, если текущее число больше 150
  • Используйте условие number % 5 == 0, что бы проверить, делится ли число на 5
Показать решение

numbers = [12, 75, 150, 180, 145, 525, 50]

for item in numbers:
    if item > 500:
        break
    elif item > 150:
        continue
    elif item % 5 == 0:
        print(item)

Задача 6. Количество чисел в цифре

Напишите программу, которая считает количество чисел в цифре. К примеру в цифре 4567321, 7 чисел. Для решения данной задачи воспользуйтесь циклом while.

Показать подсказку
  • Устанавливаем счетчик, для подсчета чисел (count = 0)
  • Запускаем цикл while, с условием number != 0
  • В каждой итерации цикла, делим число на 10
  • После каждого деления прибавляем 1 к счетчику
  • Печатаем счетчик
Показать решение
num = 75869
count = 0
while num != 0:
    num = num // 10
    count = count + 1
    print("Чисел:", count)

Задача 7. Вывести список в обратном порядке

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

                    
list1 = [10, 20, 30, 40, 50]

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

Показать подсказку
  • Вариант 1. Можно сразу воспользоваться встроенной функцией reversed(), что бы перевернуть список
  • Вариант 2. Используем цикл for и функцию len().
    • Сначала определяем длину списка len(list)
    • Запускаем цикл for и используем функцию range(size,-1,-1), читаем список в обратном порядке
    • при каждой итерации выводим на печать list[i]
Показать решение
list1 = [10, 20, 30, 40, 50]

new_list = reversed(list1)
for item in new_list:
    print(item)

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

Задача 8. Используем блок else для отображения сообщения

Напишите простенькую программу, в которой выводятся числа от 1 до 5 в цикле, после завершения цикла, программа печатает строку «Готово!» .

Дано:

                    
for i in range(5):
    print(i)

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

Показать решение
for i in range(5):
    print(i)

else:
    print("Готово!")

Задача 9. Вывести простые числа python

Простое число, это число которое нельзя получить путем умножения двух целых чисел. К примеру число 6, не является простым число, так как, его можно получить в результате умножения 2 x 3 = 6.

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

Дано:

Ожидаемые выходные данные:

                    
Простые числа от 25 до 50 являются:
29
31
37
41
43
47
Показать решение
start = 25
end = 50

for num in range(start, end + 1):
    if num > 1:
       for i in range(2, num):
           if (num % i) == 0:
               break
       else:
           print(num)

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

Задача 10. Python факториал числа

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

К примеру, факториал числа 5:

                    
5! = 5 × 4 × 3 × 2 × 1 = 120
Показать подсказку
  • Создаем переменную factorial = 1
  • Запускаем цикл с функцией range() от 1 до n. В данном случае цикл отработает 5 раз
  • На каждой итерации цикла, умножаем factorial = factorial * i
  • Печатаем переменную factorial
Показать решение
num = 5
factorial = 1
if num < 0:
    print("Для отрицательных чисел, факториал не существует")
elif num == 0:
    print("The factorial of 0 is 1")
else:
    for i in range(1, num + 1):
        factorial = factorial * i
        print(factorial)

Практически похожую задачу, мы уже решали в теоретическом блоке, «Циклы и условия«,Поиск факториала числа, так же советую просмотреть задачу, по поиску рядов Фибоначчи.

Задача 11. Вывести числа нечетных позиций списка

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

Дано:

                    
my_list = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

Ожидаемые выходные данные:

Показать решение
my_list = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
for i in my_list[1::2]:
     print(i, end=" ")

Задача 12. Куб числа Python

Напишите программу, для расчета куба из все чисел от 1 до числа n.

Дано:

                    
input_number = 6
Ожидаемые выходные данные:
                    
Текущее число : 1, а куб-1
Текущее число равно : 2, а куб равен 8
Текущее число равно : 3, а куб равен 27
Текущее число равно : 4, а куб равен 64
Текущее число : 5, а куб 125
Текущее число : 6, а куб 216
Показать подсказку
  • Запустите цикл for и функцию range()
  • В диапазоне укажите 1 и n(заданное число)
  • На каждом проходе цикла, вычисляйте куб текущего числа (i), умножая его на себя три раза
Показать решение

input_number = 6

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

    print(«Текущее число равно :», i, » а куб равен», (i * i * i))