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

Полное решение модуля (урока) 7.3 из курса «Пколение python: курс для начинающих» с сайта stepik.org на питоне.

Что покажет приведенный ниже фрагмент кода?
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.

Формат входных данных
На вход программе подаются два целых числа a и b (ab).

Формат выходных данных
Программа должна вывести одно целое число в соответствии с условием программы.

Примечание. Куб числа a – это его третья степень a3.

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

Сумма чисел

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

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

Формат выходных данных
Программа должна вывести сумму данных чисел.

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

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

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

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

Примечание. Для вычисления натурального логарифма воспользуйтесь функцией log(n), которая находится в модуле math.

from math import log        # Импортируем из math функцию log 
diff = 0                       # Задаем стартовое значение переменной для скобок
n = int(input())               # получаем число n
for i in range(1, n + 1):      # Интервал начинаем с единицы, чтобы не делить на 0
    diff += (1 / i)            # Набиваем скобки суммами частных
print(diff - log(n))           # и дописываем формулу 

Сумма чисел

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

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

Формат выходных данных
Программа должна вывести единственное число в соответствии с условием задачи.

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

n = int(input())
s = 0                      # переменная для суммирования
for i in range(1, n + 1):  # от 1 до n включительно
    t = i**2               # поместим в t квадрат i - нашего счетчика в цикле
    if t % 10 == 2 or t % 10 == 5 or t % 10 == 8:  # если квадрат числа оканчивается на 2, 5, 8
        s += i             # прибавляем к переменной суммы подходящие числа
print(s)

Факториал

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

Входные данные
На вход программе подается натуральное число n,(n≤12).

Выходные данные
Программа должна вывести единственное число в соответствии с условием задачи.

Примечание. Факториалом натурального числа nn, называется произведение всех натуральных чисел от 1 до n, то есть n!=1⋅2⋅3⋅…⋅n

n = int(input())
total = 1                 # так как умножение на 0 даст 0
for i in range(1, n + 1):
    total *= i            # total умножаем на i   
print(total)

Без нулей

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

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

Формат выходных данных
Программа должна вывести произведение отличных от нуля чисел.

Примечание. Гарантируется, что хотя бы одно из 10 чисел является ненулевым.

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

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

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

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

Выходные данные
Программа должна вывести единственное число в соответствии с условием задачи.

Примечание. Функция подсчета суммы всех делителей числа является очень важной в теории чисел.

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.

Входные данные
На вход программе подается натуральное число nn.

Выходные данные
Программа должна вывести единственное число в соответствии с условием задачи.

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

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

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

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

Формат выходных данных
Программа должна вывести два наибольших числа, каждое на отдельной строке.

n = int(input())
max1 = max2 = 1         # пусть самое большое число это минимально возможное
for i in range(1, n+1): # цикл от 1 до n 
    a = int(input())    # получаем следующее число 
    if a > max1:        # если введенное число больше нашего максимума, то это новый максимум 
        max2 = max1     # запоминаем предыдущее наибольшее число в переменной max2
        max1 = a        # а само это число на входе становится наибольшим 
    elif a > max2:      # если число не больше max1, то проверяем больше ли оно второго max2
        max2 = a  
print(max1) 
print(max2)

Only even numbers ?️

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

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

Формат выходных данных
Программа должна вывести строку «YES», если все числа четные и «NO» в ином случае.

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

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

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

Формат входных данных
На вход программе подается одно число n (n≤100) – количество членов последовательности.

Формат выходных данных
Программа должна вывести члены последовательности Фибоначчи, отделенные символом пробела.

Примечание. Последовательность Фибоначчи – это последовательность натуральных чисел, где каждое последующее число является суммой двух предыдущих: 1, 2, 3, 5, 8, 13,  21, 34, 55, 89,…

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

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

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

voisez
voisez
10 месяцев назад

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

Seva
Seva
Ответить на  voisez
5 месяцев назад

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

Ignat
Ignat
1 год назад

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

Ismail
Ismail
1 год назад

Спасибо :smile:

Антон
Антон
1 год назад

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

Антон
Антон
Ответить на  admin
1 год назад

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

Миша
Миша
1 год назад

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

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