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


#1

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: ")

#2

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.


#3

.

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?


#4

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


#5

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?


#6

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


#7

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?


#8

Please start formatting your code, so i can read it properly, see here:

or here:


#9

it’s okay now thanks


#10

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


#11

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


#12

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


#13

ok thanks for the quick response


#14

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


#15

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


#16

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.


#17

:joy: thanks very much


#18

Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32
Type “copyright”, “credits” or “license()” for more information.

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?


#19

Please format your code properly:

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


#21

'Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32
Type “copyright”, “credits” or “license()” for more information.

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