Решение модуля 7.3 из курса «Поколение python: курс для начинающих»

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

  • Подсчет количества
  • Вычисление суммы и произведения
  • Обмен значений переменных
  • Сигнальные метки
  • Определение максимума и минимума
  • Расширенные операторы присваивания

Все эти темы помогут вам лучше понять структуру программы и научат решать задачи более эффективно. Давайте начнем!

Подсчет количества

Предположим, у нас есть список чисел, и мы хотим посчитать количество элементов в списке:

numbers = [1, 2, 3, 4, 5]
count = 0

for number in numbers:
    count += 1

print("Количество элементов:", count)

Вычисление суммы и произведения

Теперь давайте вычислим сумму всех чисел в списке:

numbers = [1, 2, 3, 4, 5]
sum_numbers = 0

for number in numbers:
    sum_numbers += number

print("Сумма чисел:", sum_numbers)

Аналогично можно найти произведение всех чисел:

numbers = [1, 2, 3]
product_numbers = 1

for number in numbers:
    product_numbers *= number

print("Произведение чисел:", product_numbers)

Обмен значений переменных

Иногда требуется обменять значения двух переменных. Это можно сделать следующим образом:

a = 5
b = 10

a, b = b , a 

print("Значение a:", a) 
print("Значение b:", b) 

Сигнальные метки

Сигнальная метка или флаг используется для обозначения определенного состояния во время выполнения цикла. Пример использования флага для нахождения отрицательного числа в списке:

numbers = [10 , -3 ,7 ,8] 
found_negative= False 

for number in numbers:  
if number <0:
        found_negative=True 
break
 
if found_negative :
    print ("Найдено отрицательное число!")
else :
    print ("Отрицательных чисел нет.") 

Определение максимума и минимума

Для нахождения максимального или минимального значения в списке используем следующий подход:

numbers =[12 ,45 ,-7 ,23] 
max_number= numbers[0]  
min_number= numbers[0]  

for num berin numbers :  
if num>max_number :     
max_number=num   
if num<min_number :     
min_number=num 

print ("Максимум :" max_number )   
print( "Минимум :", min _number )  

Расширенные операторы присваивания (+=,-=,//=и т.д.)

Расширенные операторы присваивания позволяют упростить записи операций с переменными Например :

x+=5    
y-=3    
z*=2 

Это эквивалентно следующим записям :

y=y-30       
z=z*20
 

Мы рассмотрели основные возможности цикла for в Python . Теперь вы можете применять эти знания при решении различных задач.

Если вам интересно узнать больше о программировании на Python переходите к модулю “7.3” на нашем сайте.

Решения модуль 7.3 «Поколение Python»: курс для начинающих

Что покажет приведенный ниже фрагмент кода?
num1 = 4
num2 = 6
num1 += num2
num1 *= num1
print(num1)

100

Что покажет приведенный ниже фрагмент кода?
total = 0
for i in range(1, 6):
total += i
print(total)

15

Что покажет приведенный ниже фрагмент кода?
total = 0
for i in range(1, 6):
total += i
print(total, end=»)

1361015

Количество чисел

На вход программе подаются два целых числа a и b (ab). Напишите программу, которая подсчитывает количество чисел в диапазоне от a до b включительно, куб которых оканчивается на 4 или 9.

Решение модуля 7.3 из курса "Поколение python: курс для начинающих"
# Получаем значения a и b и преобразуем их в целые числа.
a = int(input())
b = int(input())

count = 0  # Устанавливаем начальное значение счетчика.

# Создаем цикл с итерациями от a до b+1.
for i in range(a, b + 1):
    # Проверяем, оканчивается ли текущее значение i на 4 или 9.
    if i % 10 == 4 or i % 10 == 9:
        count += 1  # Увеличиваем счетчик на 1, если условие выполняется.

# Выводим значение счетчика, которое представляет количество чисел, удовлетворяющих условию.
print(count)

Сумма чисел

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

Решение модуля 7.3 из курса "Поколение python: курс для начинающих"
a = int(input())
s = 0                   # Установка переменной суммы 0

# указываем программе сколько раз должен повторяться цикл
for i in range(a):      
    s += int(input())   # к сумме прибавляем введенное значение

print(s)

Асимптотическое приближение

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

Решение модуля 7.3 из курса "Поколение python: курс для начинающих"

from math import log        # Импортируем из math функцию log 

diff = 0                       # Задаем стартовое значение переменной для скобок
n = int(input())               # получаем число n

# Интервал начинаем с единицы, чтобы не делить на 0
for i in range(1, n + 1):      
    diff += (1 / i)            # Набиваем скобки суммами частных

print(diff - log(n))           # и дописываем формулу 

Сумма чисел

На вход программе подается натуральное число n. Напишите программу, которая подсчитывает сумму тех чисел от 1 до n (включительно) квадрат которых оканчивается на 2, 5 или 8.

Решение модуля 7.3 из курса "Поколение python: курс для начинающих"
# Считываем значение n и преобразуем его в целое число.
n = int(input())

s = 0  # Переменная для суммирования.

# Создаем цикл с итерациями от 1 до n включительно.
for i in range(1, n + 1):
    t = i**2  # Возводим i в квадрат и сохраняем результат в переменной t.
    
    # Проверяем, оканчивается ли квадрат числа t на 2, 5 или 8.
    if t % 10 == 2 or t % 10 == 5 or t % 10 == 8:
        s += i  # Если условие выполняется, добавляем i к сумме s.

# Выводим сумму подходящих чисел.
print(s)

Факториал

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

Решение модуля 7.3 из курса "Поколение python: курс для начинающих"
# Получаем значение n и преобразуем его в целое число.
n = int(input())

total = 1  # Инициализируем переменную total значением 1.

# Создаем цикл с итерациями от 1 до n включительно.
for i in range(1, n + 1):
    total *= i  # Умножаем текущее значение total на i.

# В результате цикла total будет содержать факториал числа n.

# Выводим значение факториала.
print(total)

Без нулей

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

Решение модуля 7.3 из курса "Поколение python: курс для начинающих"
total = 1                    # переменная в которой будем собирать произведение

for i in range(10):          # цикл на ввод 10 значений
    num = int(input())       # принимаем 10 входящих
    if num > 0:              # условие что бы число было больше 0
        total = num * total  # произведение всех чисел больше 0

print(total)

Сумма делителей

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

Решение модуля 7.3 из курса "Поколение python: курс для начинающих"
n = int(input())               # получаем число
sum = 0                        # присваиваем переменной суммы делителей 0 

for i in range(1, n + 1):      # цикл от 1 до нашего числа
    if n % i == 0:             # находим делитель, если остаток от деления равен нулю
        sum += i               # прибавлем к переменной текущий делитель

print(sum)                   

Знакочередующаяся сумма

На вход программе подается натуральное число n. Напишите программу вычисления знакочередующей суммы 1-2+3-4+5-6…+(−1)n+1n.

Решение модуля 7.3 из курса "Поколение python: курс для начинающих"
# Получаем значение n и преобразуем его в целое число.
n = int(input())

res = 0  # Инициализируем переменную res значением 0.

# Создаем цикл с итерациями от 1 до n включительно.
for i in range(1, n + 1):
    if i % 2 == 0:
        res -= i  # Если i делится без остатка (четное), вычитаем его из текущего значения res.
    if i % 2 != 0:
        res += i  # Если i делится с остатком (нечетное), прибавляем его к текущему значению res.

# В результате цикла res будет содержать разность суммы четных и нечетных чисел.

# Выводим значение res.
print(res)

Наибольшие числа 

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

Решение модуля 7.3 из курса "Поколение python: курс для начинающих"
n = int(input())
max1 = max2 = 1         # Инициализируем максимальные значения как минимально возможное (1).

# Создаем цикл с итерациями от 1 до n.
for i in range(1, n + 1):  
    a = int(input())      # Получаем следующее число от пользователя.

# Если введенное число больше текущего наибольшего max1
    if a > max1:          
        max2 = max1       # то текущий max1 становится вторым наибольшим числом max2
        max1 = a          # а новое число становится наибольшим max1.
    elif a > max2:        # Если число не больше max1, но больше текущего max2,
        max2 = a          # то оно становится новым вторым наибольшим числом max2.

# Выводим наибольшее число max1 и max2
print(max1)               
print(max2) 

Only even numbers ?️

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

Решение модуля 7.3 из курса "Поколение python: курс для начинающих"
flag = 'YES'         # по умолчанию считаем что последовательность четная

for _ in range(10):  # цикл до 10
    a = int(input()) # получаем число
    if a % 2 != 0:   # проверяем делимость числа на остаток 
        flag = 'NO'  # если число имеет остаток то NO

print(flag)

Последовательность Фибоначчи 

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

Решение модуля 7.3 из курса "Поколение python: курс для начинающих"
n = int(input())                # получаем кол-во циклов
num1 = 0                        # число 1
num2 = 1                        # число 2

for i  in range(n):             # цикл до N
    num2 = num1 + num2          # присваиваем переменной num2 новое значение суммы этой переменной с предыдущей
    num1 = num2 - num1          # переменной num1 присваиваем значение которое было в num2
    print(num1,end=' ')

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

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

24 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Dan
Dan
5 месяцев назад

В задаче «Без нулей» просто замените >0 на !=

Димаовлвл
Димаовлвл
8 месяцев назад

Не Работает без нулей

hacer27.08
hacer27.08
Ответить на  Димаовлвл
8 месяцев назад

используй abs(int(input()))
поможет если бы ты изучал а не списывал знал бы

Ежевичинка
Ежевичинка
Ответить на  Димаовлвл
8 месяцев назад

total = 1           
for i in range(10):     
  num = int(input())    
  if num != 0:        
    total = num * total  
print(total)

тоже была ошибка,но старший брат помог

bolat
bolat
9 месяцев назад

num = int(input(‘Введите число:’))
a, b = 1, 1
for i in range(1, num + 1):
    print(a, end = ‘ ‘)
    a, b = b, a + b

guest
guest
11 месяцев назад

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

Ильдус
Ильдус
Ответить на  admin
7 месяцев назад

total = 1          
for i in range(10):     
  num = int(input())   
  if num > 0:       
    total = num * total
print(total)

None
None
Ответить на  Ильдус
4 месяцев назад

там нужно просто ‘if num > 0’ заменить на ‘if num != 0’

Самира
Самира
1 год назад

Почему в последней for i in range (n),если 2 числа мы уже нашли?

Александр
Александр
1 год назад

Эта программа не выводит последовательность чисел. Здесь ошибка.

voisez
voisez
2 лет назад

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

Seva
Seva
Ответить на  voisez
1 год назад

Я еще Питон-тьютор закончил

Ignat
Ignat
3 лет назад

Программа «Наибольшие числа**» работает не корректно.

Ismail
Ismail
3 лет назад

Спасибо :smile:

Антон
Антон
3 лет назад

День добрый.
В задании «количество чисел» есть ошибка

Антон
Антон
Ответить на  admin
3 лет назад

Куб забыли в мат. выражении

Миша
Миша
3 лет назад

Привет спасибо за публикацию!!! Когда будет следующий урок?? :smile:

24
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x