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

Напишите программу, которая будет преобразовывать двоичные значения (по основанию 2) в десятичныс (по основанию 10). Пользователь должен ввести число в двоичном виде как строку, а программа - преобразовать его посимвольно в десятичный вид и вывести на экран с соответствующим сообщением. Если введенное число не является двоичным, вывести сообщение об ошибке.


trueberry17: Именно посимвольно?

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

Ответил trueberry17
1

Ответ: Если что-то непонятно или не устраивает ответ - пиши.

# --- 1 Способ. ---

try:

   user_input = ui = input('Введите двоичное число = 0b')

   print(f'0b{ui} = {int(ui, 2)}')

except ValueError:

   print('Ошибка! Убедитесь, что ввели двоичное число.')

# --- 2 Способ. ---

try:

   user_input = ui = input('Введите двоичное число = 0b')

   int_val, i, n = 0, 0, 0

   binary = int(ui)

   while binary != 0:

       a = binary % 10

       int_val = int_val + a * pow(2, i)

       binary = binary // 10

       i += 1

   print(f'0b{ui} = {int_val}')

except ValueError:

   print('Ошибка! Убедитесь, что ввели двоичное число.')

   

Приложения:

trueberry17: 1й способ благодаря встроенной функции int(k, w), она возвращает число k в системе w в десятичную систему.
trueberry17: 2й способ математический
trueberry17: Для удобства можешь выбрать способ и взять его в цикл while, чтоб постоянно не перезапускать код
Новые вопросы