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

Циклы в языке Python

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

Практические задачи по теме циклы в языке Python

Содержание:

  1. Вычисление суммы элементов списка
  2. Поиск минимального значения в списке
  3. Подсчет количества четных чисел в диапазоне
  4. Поиск элемента в списке
  5. Генерация таблицы умножения
  6. Подсчет факториала числа
  7. Поиск простых чисел в диапазоне
  8. Сумма ряда чисел
  9. Поиск и вывод повторяющихся элементов в списке
  10. Поиск среднего значения элементов в списке
  11. Поиск и вывод всех чисел Фибоначчи до указанного числа
  12. Поиск и удаление дубликатов в списке
  13. Удаление элементов списка которые не удовлетворяют условию
  14. Поиск наибольшего общего делителя двух элементов
  15. Поиск и удаление всех элементов с определенным значением из списка
  16. Проверка является ли число паллиндромом
  17. Генерация последовательности простых чисел
  18. Поиск и вывод всех делителей числа
  19. Проверка является ли число простым
  20. Поиск и вывод всех кубов натуральных чисел до заданного числа
  21. Поиск и вывод всех степеней двойки до указанной степени
  22. Поиск и вывод всех простых чисел в диапазоне
  23. Подсчет количества цифр в указанном числе
  24. Поиск и вывод всех чисел паллиндромов в указанном диапазоне
  25. Генерация таблицы умножения до заданного числа
  26. Поиск и вывод всех чисел-простых множителей заданного числа
  27. Вычисление факториала числа

1.Вычисление суммы элементов списка

    • Описание: Напишите программу, которая вычисляет сумму всех элементов в заданном списке с использованием цикла.
    • Решение этой задачи:
                    
numbers = [1, 2, 3, 4, 5]
total = 0
for number in numbers:
    total += number
print("Сумма элементов списка:", total)

 2.Поиск минимального значения в списке

    • Описание: Напишите программу, которая находит минимальное значение в заданном списке с использованием цикла.
    • Решение этой задачи:
                    
numbers = [5, 2, 7, 4, 1]
min_value = numbers[0]
for number in numbers:
    if number < min_value:
        min_value = number
print("Минимальное значение в списке:", min_value)

3.Подсчет количества четных чисел в диапазоне

    • Описание: Напишите программу, которая подсчитывает количество четных чисел в заданном диапазоне с использованием цикла.
    • Решение этой задачи:
                    
count = 0
for i in range(1, 11):
    if i % 2 == 0:
        count += 1
print("Количество четных чисел:", count)

4.Поиск элемента в списке

    • Описание: Напишите программу, которая проверяет наличие определенного элемента в заданном списке с использованием цикла
    • Решение этой задачи:
                    
items = ['apple', 'banana', 'orange', 'grape']
search_item = 'banana'
found = False
for item in items:
    if item == search_item:
        found = True
        break
if found:
    print(search_item, "найден в списке")
else:
    print(search_item, "не найден в списке")

5.Генерация таблицы умножения

    • Описание: Напишите программу, которая генерирует таблицу умножения для заданного диапазона чисел с использованием циклов.
    • Решение этой задачи:
                    
for i in range(1, 11):
    for j in range(1, 11):
        print(i, "умножить на", j, "равно", i * j)

6.Подсчет факториала числа

  • Описание: Напишите программу, которая вычисляет факториал заданного числа с использованием цикла.
  • Решение этой задачи:
                    
number = 5
factorial = 1
for i in range(1, number + 1):
    factorial *= i
print("Факториал", number, "равен", factorial)

7.Поиск простых чисел в диапазоне

  • Описание: Напишите программу, которая находит все простые числа в заданном диапазоне с использованием циклов.
  • Решение этой задачи:
                    
start = 10
end = 20
print("Простые числа в диапазоне", start, "до", end, ":")
for num in range(start, end + 1):
    if num > 1:
        is_prime = True
        for i in range(2, int(num ** 0.5) + 1):
            if num % i == 0:
                is_prime = False
                break
        if is_prime:
            print(num)

8.Сумма ряда чисел

  • Описание: Напишите программу, которая вычисляет сумму заданного ряда чисел с использованием цикла.
  • Решение этой задачи:
                    
n = 10
total = 0
for i in range(1, n+1):
    total += i
print("Сумма ряда чисел от 1 до", n, "равна", total)

9.Поиск и вывод повторяющихся элементов в списке

  • Описание: Напишите программу, которая находит и выводит все повторяющиеся элементы в заданном списке с использованием цикла.
  • Решение этой задачи:
                    
items = [3, 6, 8, 2, 6, 9, 2, 3]
repeated = []
for item in items:
    if items.count(item) > 1 and item not in repeated:
        repeated.append(item)
print("Повторяющиеся элементы в списке:", repeated)

10.Поиск среднего значения элементов в списке

  • Описание: Напишите программу, которая находит среднее значение всех элементов в заданном списке с использованием цикла.
  • Решение этой задачи:
                    
numbers = [10, 20, 30, 40, 50]
total = 0
count = 0
for number in numbers:
    total += number
    count += 1
average = total / count
print("Среднее значение элементов списка:", average)

11.Поиск и удаление дубликатов в списке

  • Описание: Напишите программу, которая ищет и удаляет все дубликаты из заданного списка с использованием цикла.
  • Решение этой задачи:
                    
items = [1, 2, 3, 2, 4, 5, 6, 5]
unique_items = []
for item in items:
    if item not in unique_items:
        unique_items.append(item)
print("Список без дубликатов:", unique_items)

12.Поиск и вывод всех чисел Фибоначчи до указанного числа

  • Описание: Напишите программу, которая находит и выводит все числа Фибоначчи до указанного числа с использованием цикла.
  • Решение этой задачи:
                    
n = 50
a, b = 0, 1
while a < n:
    print(a, end=' ')
    a, b = b, a + b

13.Удаление элементов списка, которые не удовлетворяют условию

  • Описание: Напишите программу, которая удаляет элементы из списка, не удовлетворяющие определенному условию, с использованием цикла.
  • Решение этой задачи:
                    
numbers = [15, 20, 5, 30, 10]
threshold = 10
numbers[:] = [number for number in numbers if number >= threshold]
print("Список после удаления элементов меньше", threshold, ":", numbers)

14.Поиск и удаление всех элементов с определенным значением из списка

  • Описание: Напишите программу, которая находит и удаляет все элементы с определенным значением из списка с использованием цикла
  • Решение этой задачи:
                    
items = [3, 7, 2, 5, 2, 8, 2]
value_to_remove = 2
items = [item for item in items if item != value_to_remove]
print("Список после удаления всех элементов со значением", value_to_remove, ":", items)

15.Поиск наибольшего общего делителя двух чисел

  • Описание: Напишите программу, которая находит наибольший общий делитель (НОД) двух чисел с использованием цикла.
  • Решение этой задачи:
                    
def gcd(a, b):
    while b:
        a, b = b, a % b
    return a

num1 = 48
num2 = 64
print("Наибольший общий делитель чисел", num1, "и", num2, "равен", gcd(num1, num2))

16.Проверка является ли число палиндромом

  • Описание: Напишите программу, которая проверяет, является ли заданное число палиндромом (читается одинаково слева направо и справа налево) с использованием цикла.
  • Решение этой задачи:
                    
def is_palindrome(number):
    original_number = number
    reverse_number = 0
    while number > 0:
        digit = number % 10
        reverse_number = reverse_number * 10 + digit
        number //= 10
    return original_number == reverse_number

num = 12321
if is_palindrome(num):
    print(num, "является палиндромом")
else:
    print(num, "не является палиндромом")

17.Генерация последовательности простых чисел

  • Описание: Напишите программу, которая генерирует заданное количество простых чисел с использованием цикла.
  • Решение этой задачи:
                    
def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            return False
    return True

count = 5
found_primes = []
number = 2
while len(found_primes) < count:
    if is_prime(number):
        found_primes.append(number)
    number += 1
print("Первые", count, "простых чисел:", found_primes)

18.Поиск и вывод всех делителей числа

  • Описание: Напишите программу, которая находит и выводит все делители заданного числа с использованием цикла.
  • Решение этой задачи:
                    
def find_divisors(num):
    divisors = []
    for i in range(1, num + 1):
        if num % i == 0:
            divisors.append(i)
    return divisors

number = 20
print("Делители числа", number, ":", find_divisors(number))

19.Проверка является ли число простым

  • Описание: Напишите программу, которая проверяет, является ли заданное число простым с использованием цикла.
  • Решение этой задачи:
                    
def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            return False
    return True

number = 17
if is_prime(number):
    print(number, "является простым числом")
else:
    print(number, "не является простым числом")

20.Поиск и вывод всех кубов натуральных чисел до заданного числа

  • Описание: Напишите программу, которая находит и выводит кубы всех натуральных чисел до заданного числа с использованием цикла.
  • Решение этой задачи:
                    
n = 5
print("Кубы натуральных чисел до", n, ":")
for i in range(1, n+1):
    print("Куб", i, "равен", i**3)

21.Поиск и вывод всех степеней двойки до указанной степени

  • Описание: Напишите программу, которая находит и выводит все степени двойки до указанной степени (включая) с использованием цикла.
  • Решение этой задачи:
                    
exponent = 6
print("Степени двойки до", exponent, ":")
for i in range(exponent + 1):
    print("2 в степени", i, "равно", 2 ** i)

22.Поиск и вывод всех простых чисел в диапазоне

  • Описание: Напишите программу, которая находит и выводит все простые числа в заданном диапазоне с использованием цикла.
  • Решение этой задачи:
                    
start = 10
end = 30
print("Простые числа в диапазоне", start, "до", end, ":")
for num in range(start, end + 1):
    if num > 1:
        is_prime = True
        for i in range(2, int(num ** 0.5) + 1):
            if num % i == 0:
                is_prime = False
                break
        if is_prime:
            print(num)

23.Подсчет количества цифр в числе

  • Описание: Напишите программу, которая подсчитывает количество цифр в заданном числе с использованием цикла.
  • Решение этой задачи:
                    
number = 123456
count = 0
while number != 0:
    number //= 10
    count += 1
print("Количество цифр в числе:", count)

24.Поиск и вывод всех чисел-палиндромов в заданном диапазоне

  • Описание: Напишите программу, которая находит и выводит все числа-палиндромы в заданном диапазоне с использованием цикла.
  • Решение этой задачи:
                    
def is_palindrome(number):
    return str(number) == str(number)[::-1]

start = 100
end = 200
print("Числа-палиндромы в диапазоне от", start, "до", end, ":")
for num in range(start, end + 1):
    if is_palindrome(num):
        print(num)

25.Генерация таблицы умножения до заданного числа

  • Описание: Напишите программу, которая генерирует таблицу умножения до заданного числа с использованием цикла.
  • Решение этой задачи:
                    
n = 5
print("Таблица умножения до", n, ":")
for i in range(1, n+1):
    for j in range(1, n+1):
        print(i, "x", j, "=", i*j)

26.Поиск и вывод всех чисел-простых множителей заданного числа

  • Описание: Напишите программу, которая находит и выводит все простые множители заданного числа с использованием цикла.
  • Решение этой задачи:
                    
def prime_factors(n):
    factors = []
    divisor = 2
    while divisor <= n:
        if n % divisor == 0:
            factors.append(divisor)
            n //= divisor
        else:
            divisor += 1
    return factors

number = 84
print("Простые множители числа", number, ":", prime_factors(number))

27.Вычисление факториала числа

  • Описание: Напишите программу, которая вычисляет факториал заданного числа с использованием цикла.
  • Решение этой задачи:
                    
def factorial(n):
    result = 1
    for i in range(1, n + 1):
        result *= i
    return result

num = 6
print("Факториал числа", num, "равен", factorial(num))