Saltar al contenido
EnglishEspacio →

Convierte pseudocódigo a Python

Codoritmo traduce tu algoritmo escrito en pseudocódigo, con la sintaxis de PSeInt, a un programa de Python que puedes ejecutar. Es la forma más directa de ver que lo que aprendiste con Escribir, Leer, Si y Mientras ya es programación.

Abrir este ejemplo y ver su Python

Abre el programa en Codoritmo; elige Python en Ver › Traducir a.

El mismo algoritmo en pseudocódigo y en Python

El ejemplo «Adivina el número» y el Python que genera Codoritmo para él, sin retoques.

Pseudocódigo

AdivinaNumero.psc · 33 líneas
Algoritmo AdivinaNumero    Definir secreto, intento, intentos Como Entero    Definir acerto Como Logico    secreto <- Aleatorio(1, 100)    intentos <- 0    acerto <- Falso    Escribir "Pensé un número del 1 al 100. Tienes 7 intentos."    Mientras (NO acerto) Y intentos < 7 Hacer        intentos <- intentos + 1        Escribir "Intento ", intentos, ":"        Leer intento        Si intento = secreto Entonces            acerto <- Verdadero        SiNo            Si intento < secreto Entonces                Escribir Sin Saltar "Más alto"            SiNo                Escribir Sin Saltar "Más bajo"            FinSi            // Abs da la distancia sin importar el signo            Si Abs(intento - secreto) <= 5 Entonces                Escribir ", ¡estás muy cerca!"            SiNo                Escribir "..."            FinSi        FinSi    FinMientras    Si acerto Entonces        Escribir "¡Correcto! Lo lograste en ", intentos, " intentos."    SiNo        Escribir "Se acabaron los intentos. Era el ", secreto, "."    FinSiFinAlgoritmo

Python generado por Codoritmo

AdivinaNumero.py · 38 líneas
# Este código fue generado por Codoritmo a partir del pseudocódigo.# Puede que no sea completamente correcto: revíselo antes de usarlo.import randomdef main():    secreto: int    intento: int    intentos: int    acerto: bool    secreto = random.randint(1, 100)    intentos = 0    acerto = False    print("Pensé un número del 1 al 100. Tienes 7 intentos.")    while (not acerto) and intentos < 7:        intentos = intentos + 1        print("Intento ", intentos, ":", sep="")        intento = int(input())        if intento == secreto:            acerto = True        else:            if intento < secreto:                print("Más alto", end="")            else:                print("Más bajo", end="")            if abs(intento - secreto) <= 5:                print(", ¡estás muy cerca!")            else:                print("...")    if acerto:        print("¡Correcto! Lo lograste en ", intentos, " intentos.", sep="")    else:        print("Se acabaron los intentos. Era el ", secreto, ".", sep="")if __name__ == "__main__":    main()

El código es exactamente el que genera Codoritmo para este programa, incluido el comentario del inicio, que siempre sale en español.

Cómo traducir tu pseudocódigo a Python

  1. Escribe o abre tu algoritmo

    Tiene que estar sin errores de sintaxis; el panel Problemas te muestra cuáles hay.

  2. Elige Python

    En Ver › Traducir a, elige Python. La pestaña de código del panel lateral muestra la traducción.

  3. Compara y copia

    La traducción cambia mientras escribes. Cópiala o descárgala como .py con Archivo › Exportar como.

  4. Ejecútala

    Con Python 3 instalado, ejecuta python3 archivo.py en una terminal.

Abrir este ejemplo y ver su Python

Abre el programa en Codoritmo; elige Python en Ver › Traducir a.

Qué tiene en cuenta la traducción

Los arreglos de PSeInt empiezan en 1 y las listas de Python en 0, así que datos[i] se traduce como datos[i - 1]. Si tu perfil usa arreglos desde 0, el índice queda igual.

Un Para con límites fijos se convierte en for … in range(…). Si los límites dependen de variables, se usa un while que funciona tanto si cuenta hacia arriba como hacia abajo.

Cuando un resultado tiene que coincidir con PSeInt, el código incluye pequeñas funciones de ayuda: por ejemplo, MOD usa math.fmod para dar el mismo signo que PSeInt, y los reales se escriben redondeados a 10 decimales.

PSeInt no distingue mayúsculas de minúsculas en los nombres, así que el código usa todos los nombres en minúsculas para que cada uso apunte a la misma variable.

Cómo se traduce cada instrucción

Cada fila es una instrucción de PSeInt traducida por Codoritmo dentro de un programa con n y i enteros, x real, nombre de texto y un arreglo datos[5]. El resultado se genera al construir esta página.

InstrucciónPSeIntPython
Escribir
Escribir "Hola, ", nombre
print("Hola, ", nombre, sep="")
Escribir sin salto de línea
Escribir Sin Saltar "Total: "
print("Total: ", end="")
Leer un entero
Leer n
n = int(input())
Leer un real
Leer x
x = float(input())
Número al azar
n <- Aleatorio(1, 6)
n = random.randint(1, 6)
Si … SiNo
Si n MOD 2 = 0 Entonces
    Escribir "par"
SiNo
    Escribir "impar"
FinSi
if int(math.fmod(n, 2)) == 0:
    print("par")
else:
    print("impar")
Segun
Segun n Hacer
    1: Escribir "uno"
    De Otro Modo: Escribir "otro"
FinSegun
if n == 1:
    print("uno")
else:
    print("otro")
Mientras
Mientras n > 0 Hacer
    n <- n - 1
FinMientras
while n > 0:
    n = n - 1
Repetir … Hasta Que
Repetir
    Leer n
Hasta Que n > 0
while True:
    n = int(input())
    if n > 0:
        break
Para
Para i <- 1 Hasta 10 Hacer
    Escribir i
FinPara
for i in range(1, 11):
    print(i)
Elemento de un arreglo
datos[1] <- n
datos[0] = n

Codoritmo y PSeInt de escritorio

PSeInt de escritorio también exporta a otros lenguajes. Estas son las diferencias.

Lo que suma Codoritmo

  • Ves la traducción al lado del pseudocódigo y cambia mientras escribes.
  • Exporta también a C#, PHP, Pascal, Visual Basic, QBasic, MatLab y HTML, como PSeInt.
  • La traducción respeta el perfil elegido, por ejemplo arreglos desde 0 o desde 1.

Lo que PSeInt de escritorio hace y Codoritmo todavía no

  • Su exportación tiene muchos años de uso en aulas; la de Codoritmo es más reciente, así que revisa el código antes de entregarlo.

Codoritmo es un proyecto independiente, inspirado en PSeInt y compatible con su sintaxis y sus perfiles de instituciones. No es PSeInt ni está afiliado a él. Sitio oficial de PSeInt

Preguntas frecuentes

¿El Python generado funciona tal cual?

En los programas de clase, sí: se ejecuta con Python 3 sin cambios. Aun así conviene revisarlo, como dice el comentario del inicio. Si una instrucción no se puede traducir, Codoritmo lo avisa con un comentario en el código.

¿Qué versión de Python necesito?

Python 3.6 o posterior. El código usa anotaciones de tipo como n: int, que no existen en Python 2.

¿Puedo convertir de Python a pseudocódigo?

No. La traducción va en un solo sentido, de pseudocódigo a Python.

Programas resueltos, cada uno con su código, su diagrama y una ejecución de muestra.

Por concepto:Ejemplos de Entrada y salida

Sigue aprendiendo