On 9/30/2013 12:19 AM, melw...@gmail.com wrote:
Hi Dave,
Yeah I found the silly mistake lol thanks for that. making progress.
Guess a number: 5
That's too high.
Guess a number: 4
That's too high.
Guess a number: 3
Traceback (most recent call last):
File "guess.py", line 34, in <module>
main(random.randint(1, 10))
File "guess.py", line 29, in main
print(responseCorrect + '! You guessed my number in ' + tries + 'guesses!')
TypeError: cannot concatenate 'str' and 'int' objects
This is what 'untested' means ;-)
[code]import random
intro = 'I have chosen a number from 1-10'
request = 'Guess a number: '
responseHigh = "That's too high."
responseLow = "That's too low."
responseCorrect = "That's correct!"
responseWrong = "Wrong, The correct number is "
guessTaken = "Your number of guesses were "
goodbye = ' Goodbye and thanks for playing!'
allowed = 5
def getguess(target, allowed):
tries = 0
while tries < allowed:
tries += 1
guess = int(input(request))
if guess < target:
print(responseLow)
elif guess > target:
print(responseHigh)
else:
return guess, tries
def main(target):
guess, tries = getguess(target, allowed)
if guess == target:
print(responseCorrect + '! You guessed my number in ' + tries +
'guesses!')
Either change 'tries' to 'str(tries)' or replace the statement with
print(responseCorrect, 'You guessed my number in', tries,
'guesses!')
There is no need to create a single string before the print.
else:
print(goodbye + ' The number I was thinking of was ' + number)
ditto
if __name__ == '__main__':
main(random.randint(1, 10)) [/code]
--
Terry Jan Reedy
--
https://mail.python.org/mailman/listinfo/python-list