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

Ревью кода-1 ?️?️
На обработку поступает последовательность из 10 целых чисел. Известно, что вводимые числа по абсолютной величине не превышают 106
Нужно написать программу, которая выводит на экран количество неотрицательных чисел последовательности и их произведение. Если неотрицательных чисел нет, требуется вывести на экран «NO». Программист торопился и написал программу неправильно.

Решение модуля 7.7 из курса "Поколение python: курс для начинающих"
count = 0
p = 1      # ошибка: p не должно быть равно 0
for i in range(1,11):  # ошибка: range(1, 10) это 9 итераций - 9 цифр
    x = int(input())
    if x > -1:  # ошибка: х тоже не отрицательное число
        p = p * x
        count = count + 1
if count > 0:
    print(count)  # ошибка: печатаем счетчик, а не переменную
    print(p)
else:
    print('NO')

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

Решение модуля 7.7 из курса "Поколение python: курс для начинающих"
mx = - pow(10, 6)      # изменение стартового значения мах на минимально возможное         
s = 0
for i in range(1, 11): # появилось начало последовательности
    x = int(input())
    if x < 0:
        s += x         # добавился +, чтобы считать сумму
    if 0 > x > mx:         
        mx = x
if s < 0:              # добавление оператора условия
    print(s)
    print(mx)
else:                  # добавление второго варианта ответа
    print('NO')

Ревью кода-3
На обработку поступает последовательность из 7 целых чисел. Известно, что вводимые числа по абсолютной величине не превышают 10^6.
Нужно написать программу, которая подсчитывает и выводит сумму всех чётных чисел последовательности или 0, если чётных чисел в последовательности нет. Программист торопился и написал программу неправильно.

Решение модуля 7.7 из курса "Поколение python: курс для начинающих"
s = 0                 # неверно задана переменная (было 1)
for i in range(7):    # неверно заданы границы диапозона (было (1, 7))
    n = int(input())  # отсутствие преобразования в целое число (не было int())
    if n % 2 == 0:    # неправильная переменная в условии (была i)
        s = s + n
print(s)

Ревью кода-4 ?️?️

На обработку поступает натуральное число. Нужно написать программу, которая выводит на экран максимальную цифру числа, кратную 3. Если в числе нет цифр, кратных 3, требуется на экран вывести «NO». Программист торопился и написал программу неправильно.

Решение модуля 7.7 из курса "Поколение python: курс для начинающих"
n = int(input())
max_digit = -1  # отталкиваться надо от -1, чтобы любая подходящая цифра могла заменить его
while n > 0:
    digit = n % 10
    if digit % 3 == 0:
        if digit > max_digit:  # нужно найти большее число
            max_digit = digit  # перепутал местами
    n //= 10                   # нужно откинуть последнюю цифру
if max_digit == -1:            # сравнивать нужно не с 0
    print('NO')
else:
    print(max_digit)

Ревью кода-5 ?️

На обработку поступает натуральное число. Нужно написать программу, которая выводит на экран его первую (старшую) цифру. Программист торопился и написал программу неправильно.

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

n = int(input())
while n > 9:  # Ошибка - цикл имеет смысл только в случае если данное натурально число дву- и  более -значное.
    n //= 10  # Ошибка - нам необходимо постепенно отбрасывать числа до первого, а не выяснять последние из них.
print(n)

Ревью кода-6

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

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

n = int(input())   # вводим число, а не текст
product = 1        # число может быть любым, даже 0, а в цикле у нас произведение, получим ошибку
while n > 0:       # цикл должен начинаться с 0, иначе мы потеряем цикл
    digit = n % 10
    product = product * digit
    n //= 10
print(product)

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

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

43 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Момик
Момик
1 год назад

ку харош чел

mechanismus
mechanismus
2 лет назад

спасибо за ответы! хочу что то предложить )) — если вы напишете объяснение к каждому ответу, то ваша страница будет тысячу раз любима для учащихся программистов… :oops: :idea:

Просто Чел
Просто Чел
3 лет назад

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

Просто Чел
Просто Чел
Ответить на  Просто Чел
3 лет назад

ой не 9,8 а 7,8

Евгений
Евгений
3 лет назад

Здравствуйте!
Будут ли в дальнейшем публиковаться решения?

Torreto
Torreto
3 лет назад

Когда будут решения по 7.8 7.9? :|

луковица
луковица
3 лет назад

пожалуйста скажите хотя бы ответ на гипотезу Эйлера о сумме степеней 3 недели думаю :sad:

Екатерина
Екатерина
3 лет назад

Здравствуйте! Будут ли ещё решения?

Смен
Смен
3 лет назад

Скоро новые модули
:idea: :idea: :idea: :?:

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

Вы можете на конец выложить ещё решений. :evil:

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

Вы писали на днях будут другие решения, но уже прошло много времени и до сехпор нет решения.
Я ждал.) :sad:

Татьяна
Татьяна
3 лет назад

Огромное спасибо за пояснения и ответы к задачам. Без вас было бы очень-очень сложно.

АНДРЕЙ
АНДРЕЙ
3 лет назад

Пожалуйста побыстрее добавьте до 11 модуля ответы!Ну а сайт топ ;-) ;-) ;-)

pimo
pimo
3 лет назад

Здравствуйте , хочу сказать вам огромное спасибо за ваш труд. :oops:
Подскажите ,пожалуйста ,скоро ли будет решение 8 итоговой работы ?

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

Можно пожалуйста решения на 7.8, 7.9 и 8? Срочно нужно…..

Просто Чел
Просто Чел
3 лет назад

Я который тоже уже успел сделать и уже в середине 7.8 НАмана
:idea:

Просто Чел
Просто Чел
Ответить на  admin
3 лет назад

Спс

Бука бяка
Бука бяка
3 лет назад

Когда будут ещё ответы?

Бука бяка
Бука бяка
3 лет назад

А когда выйдут ещё решения???

Бугага
Бугага
3 лет назад

О вы вернулись) :idea:

Луковица
Луковица
3 лет назад

Я который сделал почти весь модуль до выхода решения «Да, Да»

Наташа
Наташа
3 лет назад

Как же классно, огромное спасибо, буду ждать 7.8 7.9 и 8. Просто срочно нужно. Надеюсь, что до 27 апреля, вы выпустите эти части. С нетерпением буду ждать. Спасибо вам огромное))) :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea:

Наташа
Наташа
Ответить на  admin
3 лет назад

Хорошо, буду ждать.

Человек
Человек
Ответить на  Наташа
3 лет назад

а вы то сударь….дизинформатор

Никита
Никита
Ответить на  Наташа
3 лет назад

Это к первым трем задачам из 7.9. Могу скинуть и остальное, если интересно.
p =0
n = int(input())
for i in range(n):
for j in range(i + 1):
print(p+1, end=’ ‘)
p+=1
print()

n = int(input())
for i in range(1, n + 1):
for j in range(1, 2 * i):
print(min(j, 2 * i — j), end=»)
print()

a, b = int(input()), int(input())
total = 0
sum = 0
for i in range(a, b + 1):
m = 0
for j in range(1, i+1):
if i % j == 0:
m = m + j
if m >= sum:
sum = m
total = i
print(total, sum)

Николай
Николай
Ответить на  admin
3 лет назад

Шло 28 апреля. Где 7.8 и 7.9 и 8.0? :?: :?:

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