Решение на питоне модуля 8.1, 8.2 из курса «Поколение python» stepik.org

Полное решение и ответы на питоне на модули (итоговую работу) 8.1, 8.2 из курса «Поколение python: курс для начинающих» с сайта stepik.org. Предыдущий модуль перед 8 – 7.9.

Какую последовательность чисел даст вам вызов функции range(6)?

0, 1, 2, 3, 4, 5

Какую последовательность чисел даст вам вызов функции range(2, 6)?

2, 3, 4, 5

Какую последовательность чисел даст вам вызов функции range(0, 501, 100)?

0, 100, 200, 300, 400, 500

Какую последовательность чисел даст вам вызов функции range(10, 5, -1)?

10, 9, 8, 7, 6

Определите, что выведет следующий фрагмент кода?
for i in range(10, 25):
print(‘Python awesome!’)

15 раз Python awesome! на каждой строке -- ответ

Пояснение: Все верно, ведь последний раз в цикл зайдем при i = 24. Тогда кол-во итераций цикла равно 24-10+1

Определите какую задачу решает следующий фрагмент кода:
n = int(input())
counter = 0
for i in range(1, n + 1):
if i % 3 == 0 and i % 7 != 0:    
counter += 1
print(counter)

выводит количество чисел от 1 до n кратных 3, но не кратных 7

Cоберите программу, вычисляющую сумму чисел от 11 до введенного натурального числа nn

n = int(input())
total = 0
for i in range(1, n + 1):
total += i
print(total)

Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 7 раз?
i = …
while i <= 10:
print (‘Python!’)
i += 1

4

Определите какую задачу решает следующий фрагмент кода:
n = int(input())
res = 1
i = 2
while i <= n:
res *= i
i += 1
print(res)

выводит факториал числа n

Определите какую задачу решает следующий фрагмент кода:
n = int(input())
i = 2
while n % i != 0:
i += 1
print(i)

выводит минимальный делитель числа, отличный от единицы

Cоберите программу, вычисляющую сумму цифр введенного натурального числа.

n = int(input())
total = 0
while n != 0:
last_digit = n % 10
total += last_digit
n //= 10
print(total)

Соберите программу, вычисляющую количество цифр введенного натурального числа.
Примечание. Сначала увеличьте счетчик.

n = int(input())
counter = 0
while n > 0:
counter += 1
n //= 10
print(counter)

Ревью кода — 7 🌶️

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

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

Примечание. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.

n = int(input())
s = 0
while n > 0:
    if n % 2 == 0:
        s += n % 10
    n //= 10
print(s)

Ревью кода — 8 🌶️

На обработку поступает последовательность из 8 целых чисел. Известно, что вводимые числа по абсолютной величине не превышают 10^6106. Нужно написать программу, которая выводит на экран количество делящихся нацело на 4 чисел в исходной последовательности и максимальное делящееся нацело на 4 число. Если делящихся нацело на 4 чисел нет, требуется на экран вывести «NO». Программист торопился и написал программу неправильно.

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

Примечание. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.

n = 8 # n = 7, по условию чисел 8
count = 0
maximum = -10**6 - 1 # maximum = 1000, все случаи, когда все числа меньше 1000, обрабатываются неверно
for i in range(1, n + 1):
    x = int(input())
    if x % 4 == 0: # x // 4 == 0, по условию нужно найти числа, дел. на 4 без остатка
        count += 1
        if x > maximum: # if x < maximum, если число больше максимума, оно его заменяет, не если меньше максимума
            maximum = x
if count > 0:
    print(count)
    print(maximum)
else:
    print('NO')

Ревью кода — 9

На обработку поступает последовательность из 4 целых чисел. Известно, что вводимые числа по абсолютной величине не превышают 10^6106. Нужно написать программу, которая выводит на экран количество нечётных чисел в исходной последовательности и максимальное нечётное число. Если нечётных чисел нет, требуется на экран вывести «NO». Программист торопился и написал программу неправильно.

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

Примечание. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.

count = 0
maximum = -1
for i in range(4):
    x = int(input())
    if x % 2 != 0:
        count += 1
        if x > maximum:
            maximum = x
if count > 0:
    print(count)
    print(maximum)
else:
    print('NO')

Звездная рамка

На вход программе подается натуральное число nn. Напишите программу, которая печатает звездную рамку размерами n \times 19n×19.

Формат входных данных
На вход программе подаётся натуральное число n \in [3; \, 19]n∈[3;19] — высота звездной рамки.

Формат выходных данных
Программа должна вывести звездную рамку размерами n \times 19n×19.

Подсказка. Для печати зведной линии используйте умножение строки на число.

n = int(input())
for i in range(1, n + 1):
    if i == 1 or i == n:
        print('*' * 19)
    else:
        print('*' + ' ' * 17 + '*')

Третья цифра

Дано натуральное число n \, (n > 99)n(n>99). Напишите программу, которая определяет его третью (с начала) цифру.

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

Формат выходных данных
Программа должна вывести его третью (с начала) цифру.

n = int(input())
while n > 999:
    n //= 10
print(n % 10)

Все вместе 2

Дано натуральное число. Напишите программу, которая вычисляет:
количество цифр 3 в нем;
сколько раз в нем встречается последняя цифра;
количество четных цифр;
сумму его цифр, больших пяти;
произведение цифр, больших семи (если цифр больших семи нет, то вывести 1, если такая цифра одна, то вывести ее);
сколько раз в нем встречается цифры 0 и 5 (всего суммарно).

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

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

n = int(input())
count3 = 0
countLast = 0
countChet = 0
sumBig5 = 0
multyBig7 = 1
count05 = 0
last = n % 10
while n > 0:
    x = n % 10
    if x == 3:
        count3 += 1
    if x == last:
        countLast += 1
    if x % 2 == 0:
        countChet += 1
    if x > 5:
        sumBig5 += x
    if x > 7:
        multyBig7 *= x
    if x == 0 or x == 5:
        count05 += 1
    n //= 10
print(count3)
print(countLast)
print(countChet)
print(sumBig5)
print(multyBig7)
print(count05)

Решение на питоне выставлено для самопроверки сданного задания на степике в модуле 8.1 и 8.2. Я не приветствую списывание и за честное выполнение заданий. Особенно итоговой работы на знание python.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: