# PLS help with my simple asssignment, a guessing game in python

A program that generates a random number from 0 to 9 and asks the user to guess it.
Three chances are given to the user.
The program asks the user’s first guess.
If the first guess is equal to the random number then the user wins and the program ends.
If the first guess is less than the random number, the program tells the user that the number is greater than his/her guess.
If the first guess is greater than the random number, the program tells the user that the number is less than his/her guess.
Then the program asks the user for a second guess.
If the 2nd guess is equal to the random number then the user wins and the program ends.
If the 2nd guess is less than the random number, the program tells the user that the number is greater than his/her guess.
If the 2nd guess is greater than the random number, the program tells the user that the number is less than his/her guess.
Then the program asks the user for the third and last guess.
If the 3rd guess is equal to the random number then the user wins and the program ends.
If not the user loses, the random number is printed and the program ends.

It starts like this

``````from random import *

num = randint(0, 9)

print ("I chose a number from 0 to 9 and I want you to guess it.")
print ("You have three tries to guess the number.")

guess1 = input("1st guess: ")
``````

And what exactly do you need help with?

We can help you, but you have to write the code. Tell us what you are struggling with, so we can give you a nudge in the right direction

no one here is going to write the assignment for you, and that is not the point of an assignment, that someone else writes it for you.

.

from random import *
num=randint(0,9)
print (“I chose a number from 0 to 9 and I want you to guess it.”)
I chose a number from 0 to 9 and I want you to guess it.

print (“You have three tries to guess the number.”)
You have three tries to guess the number.

guess1 = input("1st guess: ")
1st guess:

It doesn’t do anything, Am i missing something?

from the instructions you only implemented:

A program that generates a random number from 0 to 9 and asks the user to guess it.

and:

The program asks the user’s first guess.

the rest is still missing

from random import randrange

random_number = randrange(0,9)
count = 0
#Let the games begin!
while count < 3:
#ask user to take a guess
guess = int(raw_input("Enter a guess: "))
#print the anwer to test the winning condition
if guess ==random_number:
print ‘Congratulations! You win!’
#end the game
break
else:
#print this message only on the first 2 attempts
if count < 2:
print ‘Try again. You have ‘+str(2-count)+’ guesses left’
#proceed to the next guess attempt
count +=

SyntaxError: invalid syntax

while count < 3:
#ask user to take a guess
guess = int(raw_input("Enter a guess: "))
#print the anwer to test the winning condition
if guess ==random_number:
print ‘Congratulations! You win!’
#end the game
break
else:
#print this message only on the first 2 attempts
if count < 2:
print ‘Try again. You have ‘+str(2-count)+’ guesses left’
#proceed to the next guess attempt
count += 1
else:

SyntaxError: invalid syntax

``````>>> while count < 3:
#ask user to take a guess
guess = int(raw_input("Enter a guess: "))
#print the anwer to test the winning condition
if guess ==random_number:
print 'Congratulations! You win!'
#end the game
break
else:
#print this message only on the first 2 attempts
if count < 2:
print 'Try again. You have '+str(2-count)+' guesses left'
#proceed to the next guess attempt
count += 1
else:
print 'Sorry, you lose. The number was ' + str(random_number)
``````

Enter a guess: 2
Try again. You have 2 guesses left
Enter a guess: 3
Congratulations! You win!

Is this correct?

seems you still miss to inform the user if there guess is higher or lower then the random number

i would simplify the else clause:

``````else:
count += 1
print "Try again. You have {:d} guesses left".format(count)
``````

`.format()` offers a neat way to concat string and variable

1 Like

from random import randrange

random_number = randrange(0,9)
count = 0
#Let the games begin!
while count < 3:
#ask user to take a guess
guess = int(raw_input("Enter a guess: "))
#print the anwer to test the winning condition
if guess ==random_number:
print ‘Congratulations! You win!’
#end the game
break
else:
count += 1
print “Try again. You have {:d} guesses left”.format(count)
else:
print 'Sorry, you lose. The number was ’ + str(random_number)

Traceback (most recent call last):
File “<pyshell#19>”, line 1, in
while count < 3:
NameError: name ‘count’ is not defined

it’s not working?

or here:

it’s okay now thanks

i tried

nter a guess: 5
Try again. You have 1 guesses left
Enter a guess: 6
Try again. You have 2 guesses left
Enter a guess: 8
Try again. You have 3 guesses left
Sorry, you ran out of chances. The number is 7

It should be you have 2 guesses left, you have 1 guess left

oops, yea then the condition should be the other way around:

``````count = 3
while count > 0
count -= 1
``````

which is still a bit easier then what you had.

But then you should realize that you should swap it around

this for me, is a more logic design. Given the user starts out with 3 guesses, and exits when he has none left

ok thanks for the quick response

I can also make mistakes, i am just a human being.

Do you understand why starting count (which you could rename to guesses_left) is a slightly more logic approach? This way, we don’t have to do math when we want to print the number of remaining guesses

what if I put something before that like:
I chose a number for 0 to 9, I want you to guess it.
You have three tries to guess the number
1st guess: 5
Sorry your guess is wrong but I’ll give you a hint
My number is greater than your guess

Something like that uh hehe i’ll try to google something like that

you could use `if` and `else` to determine `if guess` is greater then `random_number`, `else` is must be smaller, so then you can inform the user

its a basic if/else, if you are a bit familiar with programming and or python, this should be a piece of cake. thanks very much

Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32

from random import randrange
def start_guess():
random_number=randrange(0,9)
print(“I chose a number for 0 to 9, I want you to guess it.”)
while count < 3:
try:
guess = int(raw_input("Enter a guess: "))
if guess ==random_number:

SyntaxError: invalid syntax

def start_guess():
random_number=randrange(0,9)
print(“I chose a number for 0 to 9, I want you to guess it.”)
while count < 3:
try:
guess = int(raw_input("Enter a guess: "))
if guess == random_number:

SyntaxError: invalid syntax

def start_guess():
random_number=randrange(0,9)
print(“I chose a number for 0 to 9, I want you to guess it.”)
while count < 3:
guess = int(raw_input("Enter a guess: "))
if guess == random_number:
print 'Congratulations! You win!'
break
if guess < random_number:
count -= 1
print 'Sorry your guess is too low.You have ‘+str(2-count)+’ guesses left’
if guess > random_number:
count -= 1
print 'Sorry your guess is too high.You have ‘+str(2-count)+’ guesses left’
else:

SyntaxError: invalid syntax

def start_guess():
random_number=randrange(0,9)
print(“I chose a number for 0 to 9, I want you to guess it.”)
while count < 3:
guess = int(raw_input("Enter a guess: "))
if guess == random_number:
print 'Congratulations! You win!'
break
if guess < random_number:
count -= 1
print 'Sorry your guess is too low.You have ‘+str(2-count)+’ guesses left’
else guess > random_number:
count -= 1
print 'Sorry your guess is too high.You have ‘+str(2-count)+’ guesses left’
else:
print 'Sorry, you ran out of chances. The number is ’ + str(random_number)

SyntaxError: invalid syntax

What’s wrong with this?

How do I format code in my posts?

or:

How do I format code in my posts?

come on, look at what you posted. Its really difficult to read

'Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32

from random import randrange
def start_guess():
random_number=randrange(0,9)
print(“I chose a number for 0 to 9, I want you to guess it.”)
while count < 3:
try:
guess = int(raw_input("Enter a guess: "))
if guess ==random_number:

SyntaxError: invalid syntax

def start_guess():
random_number=randrange(0,9)
print(“I chose a number for 0 to 9, I want you to guess it.”)
while count < 3:
try:
guess = int(raw_input("Enter a guess: "))
if guess == random_number:

SyntaxError: invalid syntax

def start_guess():
random_number=randrange(0,9)
print(“I chose a number for 0 to 9, I want you to guess it.”)
while count < 3:
guess = int(raw_input("Enter a guess: "))
if guess == random_number:
print 'Congratulations! You win!'
break
if guess < random_number:
count -= 1
print 'Sorry your guess is too low.You have ‘+str(2-count)+’ guesses left’
if guess > random_number:
count -= 1
print 'Sorry your guess is too high.You have ‘+str(2-count)+’ guesses left’
else:

SyntaxError: invalid syntax

def start_guess():
random_number=randrange(0,9)
print(“I chose a number for 0 to 9, I want you to guess it.”)
while count < 3:
guess = int(raw_input("Enter a guess: "))
if guess == random_number:
print 'Congratulations! You win!'
break
if guess < random_number:
count -= 1
print 'Sorry your guess is too low.You have ‘+str(2-count)+’ guesses left’
else guess > random_number:
count -= 1
print 'Sorry your guess is too high.You have ‘+str(2-count)+’ guesses left’
else:
print 'Sorry, you ran out of chances. The number is ’ + str(random_number)

SyntaxError: invalid syntax

def start_guess():
random_number=randrange(0,9)
print(“I chose a number for 0 to 9, I want you to guess it.”)
while count < 3:
guess = int(raw_input("Enter a guess: "))
if guess == random_number:
print 'Congratulations! You win!'
break
if guess < random_number:
count -= 1
print 'Sorry your guess is too low.You have ‘+str(2-count)+’ guesses left’
else guess > random_number:
print 'Sorry your guess is too high.You have ‘+str(2-count)+’ guesses left’
else:
print 'Sorry, you ran out of chances. The number is ’ + str(random_number)

SyntaxError: invalid syntax

def start_guess():
random_number=randrange(0,9)
print(“I chose a number for 0 to 9, I want you to guess it.”)
while count < 3:
guess = int(raw_input("Enter a guess: "))
if guess == random_number:
print 'Congratulations! You win!'
break
elif guess < random_number:
count -= 1
print 'Sorry your guess is too low.You have ‘+str(2-count)+’ guesses left’
else guess > random_number:
count -= 1
print 'Sorry your guess is too high.You have ‘+str(2-count)+’ guesses left’
else:
print 'Sorry, you ran out of chances. The number is ’ + str(random_number)

SyntaxError: invalid syntax