algorytm.org

Implementacja w Python

Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Zamiana z i na system dziesiętny - Implementacja w Python
Ocena użytkownikóww: *****  / 6
SłabyŚwietny
Nadesłany przez Jakub Konieczny, 17 lutego 2011 18:17
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

systemy_1_py.py:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from math import *

def conv(liczba, z, do):    #konwertuje najpierw liczbę na system dziesiętny,
    dec=0                   #potem na docelowy
    val="0123456789abcdefghijklmnoprstuwvxyz"
    for V in liczba:        #duże V - znak
        dec*=z              #przemnożenie aktualnej wartości liczby dziesiętnej
                            #przez podstawę systemu źródłowego
        v=0                 #małe v - wartość liczbowa danego znaku
        while V!=val[v]:    #szukanie w tablicy `val tej wartości
            v+=1
        dec+=v
    #w tym miejscu mamy już liczbę w systemie dziesiętnym
    #teraz zamiana na docelowy
    liczba="" #źródłowy tekst nam już nie jest potrzebny, więc czyścimy
    while dec>0:
        v=dec%do                    #wartość liczbowa danego znaku w
                                    #docelowym systemie
        liczba=str(val[v])+liczba   #na początek stringu wstawia
                                    #wartość w docelowym systemie
        dec/=do
    return liczba

print "wprowadź liczbę: "
liczba=raw_input()
print "Z systemu: "
z=input()
print "Na system: "
do=input()
print "Wynik: "+conv(liczba, z, do)
Dodaj komentarz