Кружок информатики готовит на Python программы для школьного турнира. Программа «Баллы»: результаты семи участников хранятся в списке, проходной балл — 10 и выше.
points = [12, 7, 15, 9, 15, 4, 10]
passed = 0
total = 0
best = points[0]
for p in points:
if p >= 10:
passed += 1
total += p
if p > best:
best = p
print(passed, total, best)
Программа «Столы»: 29 участников садятся за столы по 4 человека. Операция // даёт целую часть частного, а % — остаток от деления.
n = 29
full = n // 4
rest = n % 4
print(full, rest)
Программа «Раунды»: в каждом раунде остаётся половина участников с округлением вниз, турнир идёт, пока не останется один участник.
players = 100
rounds = 0
while players > 1:
players = players // 2
rounds += 1
print(rounds, players)
Программа «Сумма»: пользователь вводит два числа, каждое с новой строки. Функция input() возвращает введённое значение как строку, а операция + для строк соединяет их в одну.
a = input()
b = input()
print(a + b)
Программа «Бонусы»: функция range(начало, конец, шаг) перебирает числа от начала с заданным шагом, не доходя до конца (само значение конца не включается).
s = 0
for i in range(2, 12, 3):
s += i
print(s)
Что выведет программа «Баллы»?
Показать ответ и разборСкрыть ответ и разбор
Верный ответ
- A4 52 15
Разбор
Цикл проходит по списку. Условие p >= 10 выполняется для 12, 15, 15 и 10, значит, passed = 4, а total = 12 + 15 + 15 + 10 = 52. Переменная best хранит максимум по всему списку, то есть 15, так как второе условие проверяется для каждого элемента независимо от первого. Выводится «4 52 15». Вариант «7 72 15» считает всех участников, «4 52 10» принимает за наибольший последний прошедший балл, «3 42 15» получился бы при строгом сравнении p > 10.