Информатика үйірмесі мектеп турнирі үшін 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» шығарады.