Как передать управление без цикла?
мне нужно написать программу для перевода 10-х чисел в 2-ые. Можно ли как то сделать, чтобы выполнялось? Есть 2 проверки условий(if где n>1 и if div == 0). Мне нужно, чтобы первое условие выполнялось до того момента, пока не попадет в else. А второе, наоборот, если попадает в else, то начинает выполнение снова с 3 строки кода(где div обнуляется и снова идет первое условие) Код должен быть именно таким(задание по анализу сложности).
Cам код:
n = int(input('Введите число в 10СС = '))
txt = ""
div = 0
if n > 1:
n -= 2
div+=1
else:
txt+=str(n)
if div == 0:
print(txt)
else: n = div
Ответы (3 шт):
Я немного не понял вопрос, попробуй засунуть всё это в цикл while Вот пример
n = int(input('Введите число в 10СС = '))
txt = ""
div = 0
while True:
if n > 1:
n -= 2
div+=1
else:
txt+=str(n)
if div == 0:
print(txt)
else: n = div
Если код не работает должным образом обьясни попонятнее что тебе надо сделать))
def dtob(n):
d = 0
res = ''
while n > 0:
d = n % 2
n //= 2
res += str(d)
return res[::-1]
def main():
n=int(input())
print(dtob(n))
if __name__ == '__main__':
main()
ВВод:
127
Вывод:
1111111
Этот код запрашивает у пользователя десятичное число, затем использует цикл while для преобразования этого числа в двоичное представление. В каждой итерации цикла мы получаем остаток от деления на 2, добавляем его в начало строки двоичного числа и делим десятичное число на 2.
Когда десятичное число становится равным 0, мы выводим строку двоичного представления числа.
# получаем десятичное число от пользователя
decimal_num = int(input("Введите десятичное число: "))
# инициализируем пустую строку, которая будет хранить двоичное представление числа
binary_string = ""
# пока десятичное число не равно 0
while decimal_num != 0:
# получаем остаток от деления на 2 (это будет 0 или 1)
remainder = decimal_num % 2
# добавляем остаток в начало строки двоичного числа
binary_string = str(remainder) + binary_string
# делим десятичное число на 2 и округляем в меньшую сторону (отбрасываем дробную часть)
decimal_num = decimal_num // 2
# выводим двоичное представление числа
print("Двоичное представление: " + binary_string)