Для создания хороших эффективных программ, в Python предусмотрены циклы и условия. В данном большом блоке, представлены задачи, которые решив которые вы обязательно закрепите свои теоретические знания на практике. В данном блоке задач, рассматриваются задачи, где вам необходимо знать следующие темы:
- Конструкция if-else (Условия для принятия того, или иного решения)
- Цикл for (Для перебора последовательных элементов)
- Функция range( Повторить то, или иное действие определенное количество раз)
- Цикл while (Повторение одного и того же условия, до тех пор, пока условия является истинным)
- Break и Continue (Прервать или продолжить цикл)
- Вложенные циклы (цикл внутри цикла)
Циклы и условия python
В данном блоке задач, собраны 12 практических программ, которые вам предстоит написать.
- Задачи с использование цикла и конструкций if-else
- Для всех задач решения присутствуют, и тестировались они на Python 3.9
- Задачи представленные в данном блоке, несут практический опыт. Решайте задачи, и практикуйте свои навыки по циклам и условиям Python
Если у вас получилось решить задачи альтернативным способом, пожалуйста, публикуйте свои решения в комментариях Это поможет другим разработчикам.
Содержание:
- Вывести первые 10 натуральных чисел
- Вывести шаблон чисел
- Вычислите сумму всех чисел от 1 до заданного числа
- Таблица умножения
- Перебор элементов списка
- Количество чисел в цифре
- Вывести список в обратном порядке
- Используем блок else для отображения сообщения
- Вывести простые числа python
- Python факториал числа
- Вывести числа нечетных позиций списка
- Куб числа Python
Задача 1. Вывести первые 10 натуральных чисел
Смотрите тему: Цикл while
Напишите программу, которая средствами цикла while, выводит первые 10 натуральных чисел.
1
2
3
4
5
6
7
8
9
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 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, то ожидаемые выходные данные, должны быть следующими:
2
4
6
8
10
12
14
16
18
20
- Объявляем переменную n
- Запускаем цикл for для повторения первых 10 чисел
- При каждой итерации цикла, умножаем на 2 текущее число (s = n * i)
- Выводим результат умножения
n = 2 for i in range(1, 11, 1): product = n * i print(product)
Задача 5. Перебор элементов списка
Напишите программу, которая перебирает элементы списка, и выводит только те элементы, которые соответствуют следующим условиям.
- Число кратное 5
- Если число больше 150, то пропускаем, и идем к следующему числу
- Если число больше 500, останавливаем цикл
В качестве входных данных используйте данный список:
numbers = [12, 75, 150, 180, 145, 525, 50]
Для решения задачи почитайте тему, про операторов Break, Continue.
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]
Ожидаемый результат:
50
40
30
20
10
- Вариант 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)
Ожидаемый результат:
0
1
2
3
4
Готово!
for i in range(5): print(i) else: print("Готово!")
Задача 9. Вывести простые числа python
Простое число, это число которое нельзя получить путем умножения двух целых чисел. К примеру число 6, не является простым число, так как, его можно получить в результате умножения 2 x 3 = 6.
А вот число 37 к примеру, это простое число, потому что нет целых чисел, при умножении которых мы получим результат 37. Суть этой задачи заключается в том, что бы вывести все простые числа, из определенного диапазона.
Дано:
start = 25
end = 50
Ожидаемые выходные данные:
Простые числа от 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]
Ожидаемые выходные данные:
20 40 60 80 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))