On 03/11/13 03:18, Byron Ruffin wrote:
The output generates a sentence made up of words chosen randomly from
lists.  I am having trouble getting a space between each of the words.

You probably want to look at the join() method of strings.
It joins a list of strings together using a separator...

You might also find string formatting helpful for some elements.

Alternatively you could just insert spaces into your string as you assemble it, but I think your wordlist() would be better returning a list of chosen words and you can then assemble/format that into as printable string outside the function.

HTH,

import random

def wordList():
     adj1 = ["Big",        "Small",  "Early",  "Late",    "Red",
             "Tall",    "Short"]
     subj = ["politician", "man",    "woman",  "whale",   "company",
             "child",   "soldier"]
     obj =  ["budget",     "money",  "box",    "gift",    "gun",
             "tank",    "drone"]
     adj2 = ["hot",        "crazy",  "stupid", "fast",    "worthless",
             "awesome", "dirty"]
     verb = ["spends",     "shoots", "evades", "pursues", "subverts",
             "passes",  "flirts"]

     y = adj1[generate()], subj[generate()] + obj[generate()] +
adj2[generate()] + verb[generate()]

     return y

Notice that the first term is not added, it is returned as a separate value. Is that deliberate? I suspect ypou'd be better returning them all that way.

def generate():
     random0_6 = random.randint(0, 6)
     return random0_6

def main():
     print (wordList(), ".", sep="")


main()

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.flickr.com/photos/alangauldphotos

_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to