Ir ao conteúdo

Posts recomendados

Postado

 

Boa noite. Uma ajuda. Como ficaria esse programa passado de Pascal para Python?É um programa q converte um número informado pelo usuário para qualquer base entre 2 e 9. Sua entrada e saída seria, por exemplo:

 entrada                                         saida

  numero    base                           numero convertido

    5                  2                                          101

program quest_06_AD1(Input{teclado}, Output{Vídeo});
  function converter(D, B{e}: Integer): String;
    Var
      Digito: String;
    begin
       if D=0 then converter:= ''
       else
          begin
             str(D mod B, Digito);
             converter:= converter(D div B, B)+Digito;
          end;
    end;
  Var
    Base: Byte;
    msg, resultado: String;
    Decimal: Integer;
  begin
    msg:= 'Diga uma Base';
    repeat
       write(output, msg+':');
       readln(input, Base);
       msg:= msg+' Válida';     {a msg fica maior a cada erro do usuário!}
    until (Base>1) and (Base<10);
    write(output, 'Diga um decimal:');
    readln(input, Decimal);
    while Decimal>=0 do
       begin
           if Decimal=0 then resultado:= '0'
           else resultado:= converter(Decimal, Base);
           writeln(output, Base, '  ', Decimal, '  ', resultado);
           write(output, 'Diga outro decimal:');
           readln(input, Decimal);
       end;
  end.
      
 

 tentei passar para python , mas estou com dificuldades:

def converter(dig,base):
    if digito==0:
     else:
       converter = ''
       else:
          str(dig%base,digito)
          converter=converter(dig//base,base):
     return converter

resultado= str(input(''))
bases=int(input(''))
decimal=int(input(''))
while x>=0 or y>1 and y<10:
    x = int(linhaLida.split()[0])
    y = int(linhaLida.split()[1])
    resultado=converter(dig,base)
    resultado = input(decimal,''bases,'',resultado)

 

  • Curtir 1
Postado

@Gustavo Germano    para converter você precisa fazer com que o programa na outra linguagem faça a mesma coisa que este faria, e não precisa necessariamente que ele tenha as mesmas funções e linhas iguais, pois cada linguagem tem seu próprio jeito de funcionar, então minha versão dessa tradução seria assim :

decimal=0
resultado = []
for y in range(8):
    resultado.append(0)

while decimal >= 0:
    base = 0
    while base < 2 or base > 9:
        baser = input('Digite Um Número Positivo para a base : ')
        if baser == '':
            baser = 0
        base = int(baser)

    decimals = input('Digite Um Número Decimal Positivo   ou   Negativo Para Sair ')
    if decimals =='':
        decimals = 0
    decimal = int(decimals)
    dec = decimal
    p=7
    for t in range(8):
        resultado[t] = 0

    if decimal >= 0:
        while dec > 0 and p > -1:
            x = int(dec % base)
            resultado[p] = x
            p -= 1
            dec = int(dec / base)

    print(decimal,' Na Base ',base,' é Igual -> ', end="")#imprimir na mesma linha
    for u in range(8):
        print(resultado[u],end="")

    print(' ')
    print(' ')

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!