Ayuda con ejercicio de Python en el sitio Future Engineer
Helper -
Hola a todos,
Soy profesor y he descubierto Citizen Code Python en el sitio (Amazon) www.futureenginer.fr, el formato con creación de clase virtual es interesante para iniciar el descubrimiento de (pseudo...) Python.
Sin embargo, no logro resolver (en modo Python) el ejercicio Temporada 1 Episodio 7: Los anuncios en menos de 20 líneas.
¿Pueden ayudarme por favor?
Gracias
6 réponses
He encontrado en python, pero no sé cómo hacerlo en blockly.
from robot import * for x in range(4): # 0, 1, 2, 3 derecha() for x in range(4): # 1ª iteración: 4 - x = 4 - 0 = 4 # 2ª iteración: 4 - x = 4 - 1 = 3 # 3ª iteración: 4 - x = 4 - 2 = 2 # 4ª iteración: 4 - x = 4 - 3 = 1 for y in range(3): recoger() for z in range(4 - x): derecha() soltar() for z in range(4 - x): izquierda() izquierda()
Aquí está ya el enunciado (ver en el sitio futureengineer.fr S01E07):
"Mueve las pantallas publicitarias para insertar una columna vacía entre cada una de las cinco columnas de pantallas. Preciso que hay 4 filas sobre 4 columnas, siendo las 4 primeras las que no se mueven, es decir, 12 pantallas a mover.
Atención: el tamaño de tu programa está limitado a 20 bloques."
Aquí está lo que he hecho, ya hay 17 bloques (la función if con o sin else: toma 4 bloques): las últimas pantallas no están en su lugar:
for loop in range(4): for loop in range(4): derecha() for loop in range(4): izquierda() if alturaColumna() ==3: derecha() for loop in range(3): tomar() derecha() poner() izquierda() izquierda() else: pass derecha()
Con solo 3 bloques más no lo termino, solo logro hacerlo en 24 bloques. Llevo 2 semanas luchando, gracias por su ayuda.
Hola,
No sé si lo has encontrado desde entonces, pero aquí tienes una ayuda para la resolución (logré hacerlo en 17 bloques):
Hay que encontrar una manera para que los desplazamientos a la derecha o a la izquierda varíen en cada iteración de un bucle.
Para un bucle:
for loop in range(N):
"loop" varía de 0 a N-1 aumentando de 1 en cada iteración del bucle.
Así, en el primer desplazamiento debes moverte 4 casillas, luego en el segundo 3 casillas, en el tercero 2 casillas, etc.
Comienza por la última columna.
Hola
sí, siempre que se respeten estos puntos https://www.commentcamarche.net/infos/25899-forum-ccm-mode-d-emploi-demander-de-l-aide-pour-un-exercice/
Cuando era pequeño, el Mar Muerto solo estaba enfermo.
George Burns
Va a hacer falta un poco de contexto porque no tenía previsto registrarme en este sitio ni hacer todos los ejercicios que preceden para entender de qué se trata.
Supongo que las funciones tomar, poner, derecha, izquierda y alturaColumna son proporcionadas por el juego.
Lo que creo entender es que las 4 primeras sirven para mover un cursor para sostener o dejar un panel, ¿cómo se hace para subir y bajar el cursor? ¿Y si no, para qué sirven?
¿La función alturaColumna devuelve la posición del cursor?
Si un if ocupa 4 "bloques", ¿cuántos bloques ocupa un for? ¿Y cuántos para una línea simple?
Cuando era pequeño, el mar Muerto solo estaba enfermo.
George Burns
Hola,
Como dice Whismeril, cuando pides ayuda, cuida de:
- plantear tu ejercicio de manera que se pueda entender (un poco como se plantearía un problema de matemáticas). Aquí, el enunciado es incomprensible sin imagen.
- mostrar lo que has hecho.
- explicar qué es lo que te bloquea.
- buscar con tu motor de búsqueda favorito si alguien ya ha respondido a la pregunta que te haces.
En este caso, buscando un poco, encontramos este vídeo (parece asemejarse a lo que describes pero no parece ser exactamente el mismo ejercicio).
Buena suerte