elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Python separar las palabras de una oracion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Python separar las palabras de una oracion  (Leído 6,411 veces)
jrcjrcjrc12

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Python separar las palabras de una oracion
« en: 16 Mayo 2016, 20:49 pm »

Buenas ante todo saludos, soy nuevo por aca
me disculpan si tenia que presentarme en alguna parte del foro, pero no e revisado bien

tengo un problema con un ejercicio que me mandaron en clases de python

es el siguiente

>>>>  Hacer un programa que solicice una oracion y divida las palabras en la pantalla con movinientos diferentes de cada palabra <<<<<

lo estoy haciendo en la pagina de ccodeskulptor.org  (una excelente pagina donde puedes hacer tus programas y pasarlos con el link  >>>>>

http://www.codeskulptor.org/#user41_FXiCUyquNL_0.py

________________________________________________________________
Código
  1. # programa
  2.  
  3. import simplegui
  4. import random
  5.  
  6. oracion = ""
  7. posicion = [75, 75]
  8. ancho = 1100
  9. alto = 800
  10. intervalo = 900
  11.  
  12. def update(texto):
  13.    global oracion
  14.    oracion = texto.split()
  15. def tick():
  16.    x = random.randrange(50, 600)
  17.    y = random.randrange(20, 600)
  18.    posicion[0] = x
  19.    posicion[1] = y
  20. def draw(canvas):
  21.    canvas.draw_text(str(oracion), posicion, 30, "skyblue")
  22. frame = simplegui.create_frame("texto", ancho, alto)
  23. texto = frame.add_input("Escriba su oracion:", update, 150)
  24. frame.set_draw_handler(draw)
  25. timer = simplegui.create_timer(intervalo, tick)
  26. frame.start()
  27. timer.start()python

_____________________________________________________________

como pueden ver ya separe la oracion usando el metdo Split pero no se como hacer para que me muestre las palabras en lugares distintos, con distintos movimientos

E intentado tomarlo como una lista pero al tratar de usar >> str(oracion(0)) << me dice que no es elegible

Si alguien puede ayudarme a solucionar esto se lo agradezco de antemano




« Última modificación: 16 Mayo 2016, 20:51 pm por engel lex » En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Python separar las palabras de una oracion
« Respuesta #1 en: 17 Mayo 2016, 01:44 am »

no uso ni por casualidad codeskulptor por varios motivos, pero viendo lo que intentas hacer y ya que:
Código
  1. canvas.draw_text(str(oracion), posicion, 30, "skyblue")
  2.  
evidentemente el primer argumento debe ser una cadena que estás manejando en la función update, al hacer split da como resultado una lista, deberías dentro de la función declarar por ejemplo:
Código
  1. oracion = oracion[0]
  2.  
 
y de esa forma obtener la primer palabra de la lista, el resto ya es por tu cuenta.



En línea

jrcjrcjrc12

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Python separar las palabras de una oracion
« Respuesta #2 en: 18 Mayo 2016, 20:23 pm »

no uso ni por casualidad codeskulptor por varios motivos, pero viendo lo que intentas hacer y ya que:
Código
  1. canvas.draw_text(str(oracion), posicion, 30, "skyblue")
  2.  
evidentemente el primer argumento debe ser una cadena que estás manejando en la función update, al hacer split da como resultado una lista, deberías dentro de la función declarar por ejemplo:
Código
  1. oracion = oracion[0]
  2.  
 
y de esa forma obtener la primer palabra de la lista, el resto ya es por tu cuenta.





Hola tincopasan

gracias por tu respuesta pero la verdad o estoy tapado o no se que estoy pensando
e intentado hacer de varias formas pero la unica que me resulta es creando varias variables, varias posciones, y varios canvas

pero el detalle esta es que es limitado a la cantidad de palabras (ejemplo puedo colocar para 7 palabras) pero si la oracion lleva mas de las 7 palabras quedaria por fuera

la otra que se me ocurrio es usar un for dentro de la funcion update
http://www.codeskulptor.org/#user41_WV9ue6w9Fj_1.py
__________________________________
import simplegui
import random

oracion = ""
palabras = ""
position = [50, 50]
width = 500
height = 500
interval = 800

def update(texto):
    global oracion
    global palabras
    oracion = texto.split()
    for palabras in oracion:
        return palabras
   
def tick():
    x = random.randrange(0, width)
    y = random.randrange(0, height)
    position[0] = x
    position[1] = y
   
def draw(canvas):
    canvas.draw_text(str(palabras), position, 36, "skyblue")
frame = simplegui.create_frame("Home", width, height)
texto = frame.add_input("Escriba su oracion:", update, 150)
frame.set_draw_handler(draw)
timer = simplegui.create_timer(interval, tick)
frame.start()
timer.start()
___________________________________

pero igual me sigue mandando 1 sola palabra de la oracion el resto no

la verdad ya ni se que hacer, llevo 2 dias en esto jaja

Gracias de nuevo por tu respuesta
« Última modificación: 18 Mayo 2016, 20:25 pm por jrcjrcjrc12 » En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Python separar las palabras de una oracion
« Respuesta #3 en: 18 Mayo 2016, 21:16 pm »

y si pones el for en la otra función:

Código
  1. def draw(canvas):
  2.    for palabras in oracion:
  3.       canvas.draw_text(str(palabras), position, 36, "skyblue")
  4.  
  5.  

ahora tendrías que resolver lo de la posicion de cada palabra
En línea

FurioMoltisanti

Desconectado Desconectado

Mensajes: 39



Ver Perfil
Re: Python separar las palabras de una oracion
« Respuesta #4 en: 18 Mayo 2016, 22:26 pm »

Estuve jugado con tu código un rato, esto es lo que hice por si te sirve de algo...
Código
  1. #Jonathan Romero
  2. #C.I. 13.494.537
  3.  
  4. import simplegui
  5. import random
  6.  
  7. oracion = ""
  8. tmp = ""
  9. posicion = [75, 75]
  10. ancho = 1100
  11. alto = 800
  12. intervalo = 900
  13.  
  14. def update(texto):
  15.    global tmp
  16.    tmp = texto.split()
  17. def tick():
  18.    global oracion
  19.    global tmp
  20.    x = random.randrange(50, 600)
  21.    y = random.randrange(20, 600)
  22.    if(len(tmp) > 0):
  23.        oracion = tmp[random.randint(0,len(tmp)-1)]
  24.    posicion[0] = x
  25.    posicion[1] = y
  26. def draw(canvas):
  27.    canvas.draw_text(str(oracion), posicion, 30, "skyblue")
  28. random.seed()
  29. frame = simplegui.create_frame("texto", ancho, alto)
  30. texto = frame.add_input("Escriba su oracion:", update, 150)
  31. frame.set_draw_handler(draw)
  32. timer = simplegui.create_timer(intervalo, tick)
  33. frame.start()
  34. timer.start()
  35.  
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
separar palabras
PHP
zhynar_X 1 4,521 Último mensaje 7 Diciembre 2007, 00:07 am
por Azielito
Separar palabras de una frase
.NET (C#, VB.NET, ASP)
abreu20011 1 4,827 Último mensaje 21 Noviembre 2011, 05:28 am
por abreu20011
¿En ingles se puede separar las palabras en silabas?
Foro Libre
bacanzito 2 2,501 Último mensaje 6 Agosto 2014, 11:40 am
por ivancea96
identificar varias palabras en una oracion
Programación Visual Basic
asdexiva 6 3,351 Último mensaje 27 Noviembre 2014, 22:56 pm
por asdexiva
MOVIDO: identificar varias palabras en una oracion
Programación General
Eleкtro 0 1,695 Último mensaje 26 Noviembre 2014, 19:33 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines