Кружок информатики готовит на 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)
Пользователь вводит 5 и 7. Что выведет программа «Сумма» и какой вариант последней строки выведет сумму этих чисел?
Показать ответ и разборСкрыть ответ и разбор
Верный ответ
- D57; print(int(a) + int(b))
Разбор
Функция input() возвращает строки «5» и «7», а операция + соединяет строки, поэтому выводится «57». Чтобы получить сумму 12, каждую строку нужно преобразовать в число отдельно: print(int(a) + int(b)). Вариант print(int(a + b)) сначала склеивает строки в «57» и лишь потом превращает их в число 57. Вариант print(int(a), int(b)) выводит два числа через пробел, а не их сумму. Вариант с выводом «12» неверен, так как программа без изменений выводит «57».