Информатика, вопрос задал katepovelica , 1 год назад

Що надрукує програма, якщо x = 123; x = 54 321?
def f(x):
k = 0
while x>0:
x = x // 10
k += 1
return k
x = int(input('x = ?'))
print(f(x))


дуже прошу вже не можу відмічю як кращій❤️​

Ответы на вопрос

Ответил estamaloka
3

Ответ:

В случае 123 выведет 3

В случае 54 321 выведет 5

Объяснение:

Оно выводит количество разрядов числа. Пока у тебя число положительное ты делишь его нацело на 10 и k прибавляешь 1. Соответственно если в числе  3 разряда(123 допустим),то цикл сработает 3 раза


katepovelica: а во 2 случаи что?
estamaloka: в случае 54321 будет 5
Ответил Stephan2
1

Якщо x = 123, програма виведе число 3, оскільки функція f(x) підраховує кількість цифр у числі x.

Якщо x = 54321, програма також друкує число 5, оскільки функція f(x) підраховує кількість цифр у числі x. Коли функція виконується, завдяки використанню операції цілочисельного ділення 10 (x // 10), змінна x буде змінюватися під час циклу while. Таким чином, на кожній ітерації циклу одна цифра буде видалятися з числа x, доки x не стане меншим за 1, а змінна k буде збільшуватися на 1 на кожній ітерації. Кінцевий результат дорівнюватиме кількості цифр вихідного числа x.

Новые вопросы