Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
Gustavo Germano

Python de Pascal para Python

Recommended Posts

 

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

Compartilhar este post


Link para o post
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(' ')

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×