Difference between revisions of "CSC111 While Loop Exercises"
(→Loop Exercises) |
|||
Line 27: | Line 27: | ||
:Make the program accept inputs until one player's score is more than 3 points ahead of the other. | :Make the program accept inputs until one player's score is more than 3 points ahead of the other. | ||
+ | <source lang="python"> | ||
+ | def f6(): | ||
+ | P1 = 0 | ||
+ | P2 = 0 | ||
+ | while abs( P1 - P2 ) < 3: | ||
+ | |||
+ | |||
+ | play = input( "\n\nEnter Player1 Player2 choices: " ).upper() | ||
+ | while not ( play in ["SS", "RR", "PP", "SR", | ||
+ | "SP", "RS", "RP", "PS", "PR" ] ): | ||
+ | play = input( "Invalid! Try again: " ).upper() | ||
+ | |||
+ | if play in [ "SP", "PR" ]: P1 += 1 | ||
+ | if play in [ "PS", "RP" ]: P2 += 1 | ||
+ | |||
+ | print( "Player 1: ", P1, "points -- Player 2: ", P2, "points" ) | ||
+ | |||
+ | if P1 > P2: | ||
+ | print( "Player 1 wins!" ) | ||
+ | else: | ||
+ | print( "Player 2 wins!" ) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | </source> | ||
+ | <br /> | ||
;Exercise 6 | ;Exercise 6 | ||
:Replace the for-loops by while-loops in the following code | :Replace the for-loops by while-loops in the following code |
Revision as of 12:21, 10 November 2011
--D. Thiebaut 09:43, 10 November 2011 (EST)
Loop Exercises
- Exercise 1
- Write a function that asks the user to enter a number that is greater than 0. The function will keep on asking the user for the number until it is valid. The function will return the number.
- Exercise 2
- Write a function that asks the user to respond by 'Y', 'y', 'yes', 'YES' or 'N', 'n', 'no', 'NO'. The function keeps on asking until the user enters the correct information. The function will return True if the user entered Yes, and False otherwise.
- Exercise 3
- Write a function that reads lines from a file until it finds a line that contains a particular string. The function receives the name of the file, and the string.
- Exercise 4
- Pi can be computed by adding the following terms (http://en.wikipedia.org/wiki/Pi):
- How many terms does it take to get the first 3 digits to be correct, 3.14?
- Exercise 5
- Write a program that reads 2 characters from either the keyboard or a file. The characters are either PP, PR, PS, RP, RR, RS, SP, SR, SS. They correspond to the selections made by 2 players playing the game of rock-paper-scissors.
- Make the program accept inputs until one player's score is more than 3 points ahead of the other.
def f6():
P1 = 0
P2 = 0
while abs( P1 - P2 ) < 3:
play = input( "\n\nEnter Player1 Player2 choices: " ).upper()
while not ( play in ["SS", "RR", "PP", "SR",
"SP", "RS", "RP", "PS", "PR" ] ):
play = input( "Invalid! Try again: " ).upper()
if play in [ "SP", "PR" ]: P1 += 1
if play in [ "PS", "RP" ]: P2 += 1
print( "Player 1: ", P1, "points -- Player 2: ", P2, "points" )
if P1 > P2:
print( "Player 1 wins!" )
else:
print( "Player 2 wins!" )
- Exercise 6
- Replace the for-loops by while-loops in the following code
for c1 in 'ab': for c2 in 'abcdefghijklmnopqrstuvwxyz': print "111c-" + c1 + c2