Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 29, 2015 12:47:37

alex28746
Зарегистрирован: 2015-01-18
Сообщения: 61
Репутация: +  0  -
Профиль   Отправить e-mail  

Парни очень прошу помочь с заданием. Зависит моя судьба

Помогите пожалуйста написать функцию которая конвертирует введенные числа в системе исчисления я А на числа в системе исчисления В.
Как результат функция должна возвращать словарь
{‘system A’: число_в_системе_A, ‘system B’: число_в_системе_B}
систему исчисления ограничить от 2 до 16
Очень надеюсь на вашу помощь!

Офлайн

#2 Янв. 29, 2015 13:01:25

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Парни очень прошу помочь с заданием. Зависит моя судьба

может укажете системы счисления?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Янв. 29, 2015 13:03:54

alex28746
Зарегистрирован: 2015-01-18
Сообщения: 61
Репутация: +  0  -
Профиль   Отправить e-mail  

Парни очень прошу помочь с заданием. Зависит моя судьба

от двоичной до шестнадцатеричной

Офлайн

#4 Янв. 29, 2015 13:11:35

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Парни очень прошу помочь с заданием. Зависит моя судьба

ZerG
может укажете системы счисления?
мне кажется системы исчесления долждны вводится
типа
> введите 1 систему
> введите 2 систему
> введите 1 число
> введите 2 число
alex28746
Очень надеюсь на вашу помощь!
ну я ща не могу, там не сложно



————————————————
-*- Simple is better than complex -*-

Офлайн

#5 Янв. 29, 2015 13:14:23

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Парни очень прошу помочь с заданием. Зависит моя судьба

Точные словия задачи в студию!
Если вам лень хорошо описать задачу - то нам уж точно лень ее для вас писать

import binascii
import string
def byte_to_binary(n): 
    return ''.join(str((n & (1 << i)) and 1) for i in reversed(range(8))) 
 
def hex_to_binary(h): 
    return ''.join(byte_to_binary(ord(b)) for b in binascii.unhexlify(h)) 
def bintohex(s):
    t = ''.join(chr(int(s[i:i+8],2)) for i in xrange(0, len(s), 8))
    return binascii.hexlify(t)

Думаю имея функции вы уже сможете подставить в них значения?



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Отредактировано ZerG (Янв. 29, 2015 13:18:40)

Офлайн

#6 Янв. 29, 2015 13:19:12

alex28746
Зарегистрирован: 2015-01-18
Сообщения: 61
Репутация: +  0  -
Профиль   Отправить e-mail  

Парни очень прошу помочь с заданием. Зависит моя судьба

mne ne len,prost wse prichoditsia perewodit s Polskogo i tak koriawo poluczajetsia…
Rebiat pomogite pozalujsta…

Офлайн

#7 Янв. 29, 2015 13:24:14

alex28746
Зарегистрирован: 2015-01-18
Сообщения: 61
Репутация: +  0  -
Профиль   Отправить e-mail  

Парни очень прошу помочь с заданием. Зависит моя судьба

spasibo tebe ogromnoje!!!

Офлайн

#8 Янв. 29, 2015 18:50:12

PanovSergey
От: Екатеринбург
Зарегистрирован: 2013-12-29
Сообщения: 269
Репутация: +  19  -
Профиль   Адрес электронной почты  

Парни очень прошу помочь с заданием. Зависит моя судьба

Задача элементарная.
Если понимаете как на бумажке решается.
http://algolist.manual.ru/maths/teornum/count_sys.php

Я бы решил просто сначала число сконвертил в 10-чную систему. А затем из 10 в искомую.
Например

155 в 6-ричной перведем в 4-ричную

155 в 6-ричной -> в 10
155 в 6-чной ≡ 1*6^2 + 5*6^1 + 5*6^0 ≡ 71 в 10-чной

71 в 10 -> 4-ричную

71/4 = 17*4 + 3
17/4 = 4*4 + 1
4/4 = 1*4 + 0
1/4 = 0 + 1

71 в 10 -> 4-ричную ≡ 1013

155 в 6 ≡ 1013 в 4

Офлайн

#9 Янв. 29, 2015 19:06:51

PanovSergey
От: Екатеринбург
Зарегистрирован: 2013-12-29
Сообщения: 269
Репутация: +  19  -
Профиль   Адрес электронной почты  

Парни очень прошу помочь с заданием. Зависит моя судьба

Кстати вот очень наглядно Однако рекомендуется уметь самому делать
Жать “показать как оно получилось”

Офлайн

#10 Янв. 29, 2015 21:16:11

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Парни очень прошу помочь с заданием. Зависит моя судьба

alex28746 вот то что вам нужно

def convert(a, b, n):
    A = '0123456789ABCDEF'
    num, new_num_string = int(str(n), a), ''
    while num != 0:
        new_num_string, num = A[num % b] + new_num_string, num / b
    return {a: n, b: new_num_string}
ZerG
ZerG
Если вам лень хорошо описать задачу - то нам уж точно лень ее для вас писать
если вам лень читать условие, то лучше не отвечайте
1.
alex28746
систему исчисления ограничить от 2 до 16
открою вам большой секрет! помимо 2, 8, 10 и 16 систем можно сделать очень много: 3,4,5,6,7,9,11 и т.д.
2.
alex28746
Как результат функция должна возвращать словарь
{‘system A’: число_в_системе_A, ‘system B’: число_в_системе_B}
что такое словарь можете почитать здесь



————————————————
-*- Simple is better than complex -*-

Отредактировано terabayt (Янв. 29, 2015 21:19:11)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version