On 2018-03-15 08:28, [email protected] 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