[Deleted]
Esto te puede servir:
http://www.mclibre.org/consultar/python/lecciones/python-biblioteca-random.html
from random import choice
print(choice((9, 5, 2, 15.......)))
No sé si es justamente lo que quieres, alomejor quieres reproducir luego lo que antes an elegido?
[Deleted]
Esta noche si puedo te lo paso. Estoy aprendiendo igual que tú y me voy a entretener. Lo hice correr y no se trata solo de ese fallo.
- Si introduces .append mejor importar os
- No sé si estás identando bien.
No llegó a entender cómo lo haces o que quieres hacer. Si tú ya escribiste las frases, porque haces un archivo de texto?
Porque no introduces las frases en un archivo de texto y las lees llamandolas desde tu programa? Luego las llamarías por líneas y el generador sería utilizar random y hacer un mayor que 15, y menor que 30.
En tu código directamente no se puede leer ninguna frase, ya que no están dentro de una lista.
[Deleted]
Es muy sencillo...
tienes 15 frases en 4 partes...
Se trata simplemente de tomar un indice en cada array de parte al azar entre los no elegidos aún, que es el que se toma...
y un índice para todas que al comienzo apunta al último, éste se va reduciendo con cada llamada.
Cada vez que se eleige un texto, este se remplaza por el del final, y el final se reduce en 1... cuando solo queda el 0, este se toma si o sí, luego el final vuelve a ser el 14.
como los valores se eligen al azar, se van deositando (cada array), tambien al azar al final, por lo que siempre estarán constantemente barajados...
El pseudocódigo para esto es muy simple...
entero max= 14
string = funcion Generarfrase
string f
f = TomarParte(Array1, max)
f =f + TomarParte(Array2, max)
f =f + TomarParte(Array3, max)
f = f+ TomarParte(Array4, max)
max = (max -1)
si max= -1 luego max = 14
devolver f
fin funcion
string = Funcion TomarParte(array de string ArrayX, entero max)
entero x
string tmp
// elegir un índice al azar entre 0 y los restantes disponibles.
x=random entre 0 y max
// remplezar el elegido por el último disponible (en este momento)
tmp = ArrayX(x)
ArrayX(x) = ArrayX(max)
ArrayX(max) = tmp
devolver tmp
fin funcion
[Deleted]
Cita de: sergiolo428 en 19 Enero 2019, 20:11 PM
Tampoco quiero pedir el codigo, pero no lo entiendo muy bien con el "pseudocódigo" (otra expresión que nunca he escuchado).
Hola!
No te ofendas, pero lo que dices demuestra que desconoces lo básico de la programación. La noción de pseudocódigo es una de las primeras cosas que aprendes antes de lanzarte a programar.
Te dejo lo que es el pseudocódigo: https://es.wikipedia.org/wiki/Pseudoc%C3%B3digo (https://es.wikipedia.org/wiki/Pseudoc%C3%B3digo)
De ahí, deberías también leer los enlaces relacionados (por ej., algoritmo).
Seguro que luego de leer eso, tendrás una mejor vista del panorama.
Saludos!
Hum Sergiolo428... entonces tienes que estudiar un poquito más... paciencia.
p.d.:perdón me había comido una r en tu alias.
[Deleted]