Here’s my code:
#This is a game to guess a random number.
import random
guessTaken = 0
print("Hello! What's your name kid")
myName = input()
number = random.randint(1,20)
print("Well, " + myName + ", I'm thinking of a number between 1 and 20.")
while guessTaken < 6:
print("Take a guess.")
guess = input()
guess = int(guess)
guessTaken = guessTaken + 1
if guess < number:
print("You guessed a little bit too low.")
if guess > number:
print("You guessed a little too high.")
if guess == number:
break
if guess == number:
guessTaken = str(guessTaken)
print("Well done " + myName + "! You guessed the number in " + guessTaken + " guesses!")
if guess != number:
number = str(number)
print("No dice kid. I was thinking of this number: " + number)
This is the error I get:
Name error: Name 's' is not defined.
I think the problem may be that I have Python 3 installed, but the program is being interpreted by Python 2.6. I’m using Linux Mint if that can help you guys help me.
Using Geany as the IDE and pressing F5 to test it. It may be loading 2.6 by default, but I don’t really know. 🙁
Edit:
Error 1 is:
File "GuessingGame.py", line 8, in <Module>
myName = input()
Error 2 is:
File <string>, line 1, in <Module>
When you enter data for
input()in Python 2, you’re entering a Python expression. Whatever you’re typingLooks like an expression — not a literal.
Has an S in it (hence the undefined variable.)
Either
put your strings in quotes or
stop using
input()and useraw_input()stop using Python 2.6.
It’s not clear what “I have Python 3 installed, but the program is being interpreted by Python 2.6.” means. If it’s installed, why isn’t it being used? What’s wrong with your PATH?