Определите, при каком наименьшем введённом значении переменной s программа выведет число 23. s = int(input()) n = 50
while s > 0:
s = s // 2
n = n - 3
print(n)
Ввожу вот этот код:
for s in range(1,1000):
n = 50
while s > 0:
s = s // 2
n = n - 3
if n == 23:
print(i)
break
но выдаёт 0, что не так?

panteleevpetr67 panteleevpetr67    2   27.12.2020 14:25    43

Ответы
Zhannocka Zhannocka  23.01.2024 08:59
Привет! Посмотрим на вашу программу по шагам, чтобы понять, почему она выводит 0 вместо ожидаемого значения 23.

1. Ваш код начинается с цикла "for s in range(1,1000):", который означает, что переменная s будет принимать значения от 1 до 999 включительно.

2. Далее, для каждого значения s вы устанавливаете значение переменной n равным 50.

3. Затем начинается цикл "while s > 0:", который будет выполняться до тех пор, пока значение переменной s больше 0.

4. Внутри цикла вы делите значение переменной s на 2 с использованием оператора "//" для целочисленного деления. Это означает, что результат деления будет целым числом без остатка.

5. Затем вы уменьшаете значение переменной n на 3.

6. После завершения цикла while вы проверяете, равно ли значение переменной n 23. Если это так, вы выводите значение переменной i (вместо i следует использовать переменную s).

7. Если значение n не равно 23, то цикл переходит к следующему значению s в диапазоне.

Теперь давайте разберемся, почему программа выводит 0 вместо 23.

Проблема заключается в том, что вы используете переменную i вместо s в выражении "print(i)", которая не определена в вашей программе. Вместо этого следует использовать переменную s, так как она отвечает за текущее значение в цикле for.

Исправьте ошибку, заменив "print(i)" на "print(s)".

Вот исправленный код:

```python
for s in range(1,1000):
n = 50
while s > 0:
s = s // 2
n = n - 3
if n == 23:
print(s)
break
```

После внесения этого исправления ваша программа должна правильно выводить наименьшее значение переменной s, при котором значение переменной n становится равным 23.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика