Locked learning resources

Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Locked learning resources

This lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Test and Clean Up Your Script

00:00 Okay, that program is all set up and we’re ready for the first proper test run. Going to press F5 and we get a poem. Does it follow the structure?

00:11 Does it look good?

00:13 An Incredulous Mouse. An incredulous mouse flutters like the glistening sparrow. Curiously, the mouse whispers the sparrow meow within the melancholic elephant.

00:22 Beautiful. All right, so if I run it again, do I get a different one? F5. A Serene Elephant. A serene elephant shimmers within the fragrant mouse. Curiously, the elephant gallops, the mouse whispers upon the incredulous gorilla.

00:37 So this is working, getting different poems every time, and it’s following the structure that we were intending to create. So I think this is all good. What do you think?

00:50 Did you spot any potential problems in this? Because I know there is one, since I may or may not have left it in there on purpose to make a point. But for now, let’s be happy because this is actually the poem that we wanted to create.

01:04 So I will clean this code up a bit before we then look at how we can still make the code a little bit more safe.

01:13 But the function is done. I’m going to get rid of this comment here, and we’ll say three random nouns.

01:22 Get rid of that.

01:29 One random adverb. Two random prepositions. Then we decide whether it is "A" or "An" as the article, and then we create the poem.

01:37 Nice. And then it’s always better to actually return your value from a function, than just print it. I don’t want to have side effects, so I’m just going to return poem and then down here I’m going to call print() and pass it make_poem(), which should have the exact same effect as before.

01:55 Only that potentially I could work with the poem string return value if I wanted to for maybe a different project or something like that.

02:06 One last run after we refactoring.

02:10 Let’s see if we get a good one. A glistening mouse gallops, like the melancholic or luxuriously, the mouse meows, the gorilla howls in the serene elephant.

02:18 Things seem to be happening inside of the elephant, which I don’t know if that’s, I guess that’s where most of the space is anyway. Okay. All right, so this is a finished product.

02:32 You can run this script. Every time you run it, you get a different poem. It follows the structure. And you’ve practiced using a bunch of different functions from the random module and a bunch of different list methods, as well as nested collections here, a tuple with lists nested inside of it, et cetera.

02:52 That’s pretty nice. I want to give you a chance to think about what a potential problem in the script as you have it right now, or as I have it right now, because you probably wrote something else.

03:04 But yeah, think about that. How could this script create a problem?

03:11 If you have an idea, think how you could solve it. And then when you’re done, move on to the next lesson and then we’ll solve it together.

Become a Member to join the conversation.