On 2018-03-15 08:28, michealmanc...@gmail.com wrote:
I would like to have this offer 6 guesses, but instead it gives one guess and prints the if statement/output 6 times....any ideas where I went wrong?
It sounds as if you'd like to have it making the offer within the loop rather than before the loop. Some other thoughts:
number_of_guesses = 0
Further on down, you convert this to a string. It might be simpler to just say: number_of_guesses = '0' This will eliminate the need to convert it to a string later on. Right here is where you offer a guess:
if yes_or_no == 'yes': print ('ok! guess my number') else: print ('log off and go home') my_number=random.randint(1,100)
Here is where you read the guess:
your_guess=input() your_guess=int(your_guess)
You could combine these two statements into: your_guess=int(input()) Here's the loop:
for number in range(6): if your_guess > my_number: print ('nope, too high') if your_guess < my_number: print ('nope, too low') if your_guess == my_number: break
Notice how the loop doesn't include anything to offer or read a guess? Here's where you convert the integer 0 from the beginning of the program into a string. As I mentioned above, it'd be simpler to just initialize to '0' instead of to 0.
if your_guess == my_number: number_of_guesses=str(number_of_guesses) print ('good job, you guessed correctly') else: print('nope, you lose')
Of course, since you never use this variable for anything, you could also drop it altogether. -- Michael F. Stemper Nostalgia just ain't what it used to be. -- https://mail.python.org/mailman/listinfo/python-list