Контрольные задания > 10. Дана последовательность операторов:
```python
a = 1
b = 1
while True:
a += 1
b *= 2
if b > 8: break
s = a + b
```
Сколько раз будет выполнено тело цикла и какими будут значения переменных a, b, s после цикла?
Вопрос:
10. Дана последовательность операторов:
```python
a = 1
b = 1
while True:
a += 1
b *= 2
if b > 8: break
s = a + b
```
Сколько раз будет выполнено тело цикла и какими будут значения переменных a, b, s после цикла?
Ответ:
Разберем выполнение цикла по шагам:
* Итерация 1:
* `a = 1 + 1 = 2`
* `b = 1 * 2 = 2`
* `b > 8` (2 > 8) - False
* `s = 2 + 2 = 4`
* Итерация 2:
* `a = 2 + 1 = 3`
* `b = 2 * 2 = 4`
* `b > 8` (4 > 8) - False
* `s = 3 + 4 = 7`
* Итерация 3:
* `a = 3 + 1 = 4`
* `b = 4 * 2 = 8`
* `b > 8` (8 > 8) - False
* `s = 4 + 8 = 12`
* Итерация 4:
* `a = 4 + 1 = 5`
* `b = 8 * 2 = 16`
* `b > 8` (16 > 8) - True
* Выход из цикла (break)
Тело цикла будет выполнено 3 раза. После выполнения цикла значения переменных будут:
* a = 5
* b = 16
* s не имеет значения, так как она вычисляется только внутри цикла и не используется после его завершения.