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