Yo soy muy nuevo en python y la programación!

Necesito escribir un programa que tiene 4 tuplas con 5 elementos cada uno. Una tupla debe tener verbos, una tupla debe tener los nombres, a una tupla debe tener adjetivos, y una tupla debe tener adverbios. Entonces tengo que usar los números generados al azar entre 0 y 4 para elegir uno de los elementos de cada tupla. Esto es lo que tengo hasta ahora:

import random

nouns = ("puppy", "car", "rabbit", "girl", "monkey")
verbs = ("runs", "hits", "jumps", "drives", "barfs") 
adv = ("crazily.", "dutifully.", "foolishly.", "merrily.", "occasionally.")
adj = ("adorable", "clueless", "dirty", "odd", "stupid")
num = random.randrange(0,5)
print (num)

Alguien puede mostrarme lo que estoy haciendo mal?

  • Usted puede utilizar ese número aleatorio para seleccionar el elemento correspondiente de cada una de las tuplas. por ejemplo: print nouns[num] docs.python.org/2/tutorial/…
  • Una mejor solución sería el uso de random.choice(nouns)… pero si tu trabajo requiere el uso de random.randrange, entonces usted hav eto hacerlo de la manera que @pss sugiere.
  • Estoy de acuerdo con @abarnert

5 Comentarios

  1. 6

    La forma más sencilla para su comprensión:

    import random
    
    nouns = ("puppy", "car", "rabbit", "girl", "monkey")
    verbs = ("runs", "hits", "jumps", "drives", "barfs") 
    adv = ("crazily.", "dutifully.", "foolishly.", "merrily.", "occasionally.")
    adj = ("adorable", "clueless", "dirty", "odd", "stupid")
    num = random.randrange(0,5)
    print nouns[num] + ' ' + verbs[num] + ' ' + adv[num] + ' ' + adj[num]
    • Tenga en cuenta que con este método, sólo hay 5 posibles oraciones, en lugar de las 625 posibles frases, si usted elige un número aleatorio para cada palabra.
  2. 8

    Puede utilizar random.choice dentro de una lista de comprensión, a continuación, concatenar la lista de seleccionados con join:

    >>> l=[nouns,verbs,adj,adv]
    >>> ' '.join([random.choice(i) for i in l])
    'girl runs dirty crazily.'
    >>> ' '.join([random.choice(i) for i in l])
    'monkey hits clueless occasionally.'
  3. 1

    Si desea seleccionar siempre el mismo índice para cada tupple, a continuación, intente algo como esto:

    import random
    idx = random.randrange(0, 5)
    print ("%s %s %s %s"%(nouns[idx], verbs[idx], adv[idx], adj[idx]))

    Si quieres obtener elementos aleatorios para cada tupple, los siguientes trabajos:

    import random
    print("%s %s %s %s"%(random.choice(nouns), random.choice(verbs), random.choice(adv), random.choice(adj))
  4. 1
    num = random.randrange(0,5)   
    print (num)

    Sólo le da el número aleatorio generado. Usted necesita para acceder a las tuplas de usar que el número aleatorio generado como este.

    print(nouns[num])
    print(verbs[num])
    print(adv[num])
    print(adj[num])
  5. 0

    Yo lo haría de la siguiente manera, mediante un sistema aleatorio.elección porque es una mejor opción que el azar.randrange…

    words = (adj, nouns, verb, adv)
    sentence = "".join(choice(word) for word in words)

Dejar respuesta

Please enter your comment!
Please enter your name here