Ir ao conteúdo
  • Cadastre-se

Python de Pascal para Python


Posts recomendados

 

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
Link para o comentário
Compartilhar em outros sites

@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(' ')

 

Link para o comentário
Compartilhar em outros sites

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...