Latest revision |
Your text |
Line 1: |
Line 1: |
| Here are some important concepts that we didn't have a chance to go into in great detail last week. You can use the sections below to review the concepts individually. You can also review how they work together in <code>math_game.py</code>, which is included in [http://jtmorgan.net/ds4ux/week4/lecture.zip the week 4 lecture files.] | | Here are some important concepts that we didn't have a chance to go into in great detail last week. You can use the sections below to review the concepts individually. You can also review how they work together in <code>math_game.py</code>. |
|
| |
|
| ===Return random values with the <code>random</code> module=== | | ===Return random values with the <code>random</code> module=== |
Line 120: |
Line 120: |
|
| |
|
| === Iterating an indeterminate number of times with <code>while</code> loops === | | === Iterating an indeterminate number of times with <code>while</code> loops === |
| Use <code>while</code> loops when you don't know how many times you want to repeat ("iterate") an operation.
| |
|
| |
|
| grocery_list = [] | | grocery_list = [] |
Line 133: |
Line 132: |
| print(food) | | print(food) |
|
| |
|
| Most of the time, you will find that <code>for</code> loops are more common for the kind of coding that you will be doing. For example, if you are reading through a CSV file, a <code>for</code> loop makes perfect sense: there are a set number of lines in the file, and you want to loop through the file line by line until you reach the end of the file. However, whenever your code is accepting input from a person or an API, you may find that you don't ''know'' ahead of time how many times you will need to perform an operation before stopping. In these cases, it's useful to know how to keep looping until a particular condition is met, and then stop.
| | |
|
| |
|
| ===Splicing list items together with <code>.join</code>=== | | ===Splicing list items together with <code>.join</code>=== |
Line 143: |
Line 142: |
| The members of Monty Python are: terry j., john, parrot, michael, terry g., graham, llama, eric | | The members of Monty Python are: terry j., john, parrot, michael, terry g., graham, llama, eric |
| </pre> | | </pre> |
|
| |
|
| |
| === Putting it all together with a math game ===
| |
| <source lang="Python">
| |
| """
| |
| It uses the concepts that we just reviewed (random, range, input, and while) to build a math guessing game.
| |
| random.choice, range, input, while, and join.
| |
|
| |
| This program asks people to add together two random numbers between 1 and 1000, and keep asking them new questions as long as they gave the answer right to the previous math problem. Once they give an incorrect answer, it prints out how many they got right, and also prints all their correct responses using join.
| |
| """
| |
| import random
| |
|
| |
| numbers_to_add = list(range(1,1001))
| |
| correct_answers = []
| |
| true_answer = 0
| |
| your_answer = 0
| |
| while true_answer == your_answer:
| |
| num1 = random.choice(numbers_to_add)
| |
| num2 = random.choice(numbers_to_add)
| |
| true_answer = num1 + num2
| |
| your_answer = int(input("%d + %d = " % (num1,num2)))
| |
| if your_answer == true_answer:
| |
| print("Correct! Let's try another.")
| |
| correct_answers.append("%d + %d = %s" % (num1, num2, your_answer))
| |
| else:
| |
| print("Incorrect!")
| |
|
| |
| print("You got %d problems right:" % (len(correct_answers)))
| |
| print(", ".join(correct_answers))
| |
| </source>
| |
|
| |
| [[Category:DS4UX (Spring 2016)]]
| |