Полное решение модуля (урока) 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 (a≤b). Напишите программу, которая подсчитывает количество чисел в диапазоне от a до b включительно, куб которых оканчивается на 4 или 9.
Формат входных данных
На вход программе подаются два целых числа a и b (a≤b).Формат выходных данных
Программа должна вывести одно целое число в соответствии с условием программы.Примечание. Куб числа 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. Напишите программу, которая вычисляет значение выражения
Примечание. Для вычисления натурального логарифма воспользуйтесь функцией
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=' ')
Эта программа не выводит последовательность чисел. Здесь ошибка.
Здравствуйте, я хочу стать хорошим программистом, но мне степик не помогает. Что вы посоветуете? Или где вы обучались знаниями языка питон?
Я еще Питон-тьютор закончил
Программа «Наибольшие числа**» работает не корректно.
Здравствуйте. Проверим.
Спасибо
Здравствуйте! Рады стараться)
День добрый.
В задании «количество чисел» есть ошибка
Добрый день!
Проверьте, пожалуйста, возможно вы не полностью скопировали код.
https://imgur.com/JxsRvlB
Куб забыли в мат. выражении
Добрый день!
Вычисление кубов совершенно необязательно, те же операции можно выполнять и без перевода в кубы. Проверьте пожалуйста валидность решения)
Привет спасибо за публикацию!!! Когда будет следующий урок??
Доброе утро! В течение нескольких дней, не переживайте)
Доброе утро!
Следующий модуль 7.4 уже вышел: https://zazloo.ru/7-4-pokolenie-python/