On Tuesday, October 29, 2013 5:24:08 PM UTC, ru...@yahoo.com wrote:
> On 10/29/2013 05:45 AM, Robert Gonda wrote:
> 
> > Hey guys, so I figured I will give python a shot. I got to exercise that 
> > has asked me to create a number guessing game which weren't a problem, 
> 
> > guessesTaken = 0 #This is a "Guesses taken counter"
> 
> > print("Hello, what's your name?") #Asking the user to input their name
> 
> > N = raw_input() #What the user's name is
> 
> > import random #This is importing the random function
> 
> > number = random.randint(1, 999) #This tells the random function to generate 
> > a random number between 1 to 1000
> 
> > print(N + ", I'm thinking of a number between 1-1000") #Not needed but 
> > tells the user their name and tells them that it's thinking of a number 
> > betweeen 1 to 1000
> 
> > while guessesTaken < 10: 
> 
> >     print('Take a guess.') 
> 
> >     guess = input()
> 
> >     guess = int(guess)
> 
> >     guessesTaken = guessesTaken + 1
> 
> >     if guess < number: #Says that if the guess is too low it will print a 
> > message saying that the guess is too low
> 
> >         print('Your guess is too low.') 
> 
> >     if guess > number: #Says that if the guess is too high it will print a 
> > message saying that the guess is too high
> 
> >         print('Your guess is too high.')
> 
> >     if guess == number:
> 
> >         break #Breaks the loop, meaning it will continue to loop for 10 
> > times while giving them messages from above depending on their results
> 
> > if guess == number:
> 
> >     guessesTaken = str(guessesTaken)
> 
> >     print("Congrat's, " + N + "! You managed to get the number in " + 
> > guessesTaken + " guesses!") #Tells the user they managed to guess it in x 
> > number of times
> 
> > if guess != number: #If the user is unable to guess the number in 10 times 
> > it will stop the loop and give the user a message
> 
> >     number = str(number)
> 
> >     print("No, the right number was" + number)
> 
> > 
> 
> > However the problem is that it also asked me to do the following : If at 
> > least one of the digit guessed is right it will say "y" otherwise "n" which 
> > I can't seem to do :/ any help?
> 
> 
> 
> and
> 
> 
> 
> On 10/29/2013 08:25 AM, Alister wrote:
> 
> > On Tue, 29 Oct 2013 06:10:30 -0700, Robert Gonda wrote:
> 
> >[...]
> 
> >> Now you have confused me completely, sorry im just new to python and
> 
> >> just learning everything :) could you perhaps give me an example? or
> 
> >> part of the code that's missing?
> 
> > 
> 
> > you will probably learn more through trial & error than you will from 
> 
> > being given an answer
> 
> 
> 
> While this is true for some people sometimes, I don't think
> 
> it is always true.  Very often it is easier and faster to 
> 
> learn something be seeing a worked out example and studying
> 
> it to see how it works.  This is especially true when one 
> 
> is new to a programming language and doesn't have a good
> 
> understanding of the terminology and concepts that people
> 
> who have been using the language take for granted.
> 
> 
> 
> > to shine some more light on my advise try the following
> 
> > 
> 
> > code="7689"
> 
> > for digit in code:
> 
> >     print(digit)
> 
> > 
> 
> > does this give you any Ideas on how to proceed?
> 
> 
> 
> Robert, please see if this is what you were trying to do:
> 
> 
> 
> -------------------------
> 
> guessesTaken = 0 #This is a "Guesses taken counter"
> 
> print("Hello, what's your name?") #Asking the user to input their name
> 
> N = input() #What the user's name is
> 
> import random #This is importing the random function
> 
> number = random.randint(1, 999) #This tells the random function to generate a 
> random number between 1 to 1000
> 
> 
> 
> number_str = str (number)     # Convert 'guess' to a string of digits.
> 
> while len (number_str) < 3:   # If there are less than 3 digits, add leading 
> "0"s until it is three digits.
> 
>     number_str = "0" + number_str
> 
> 
> 
> print(N + ", I'm thinking of a number between 1-1000") #Not needed but tells 
> the user their name and tells them that it's thinking of a number betweeen 1 
> to 1000
> 
> while guessesTaken < 10: 
> 
>     print('Take a guess.') 
> 
>     guess = input()
> 
>     guess = int(guess)
> 
>     guessesTaken = guessesTaken + 1
> 
>     if guess < number: #Says that if the guess is too low it will print a 
> message saying that the guess is too low
> 
>         print('Your guess is too low.') 
> 
>     if guess > number: #Says that if the guess is too high it will print a 
> message saying that the guess is too high
> 
>         print('Your guess is too high.')
> 
>     if guess == number:
> 
>         break #Breaks the loop, meaning it will continue to loop for 10 times 
> while giving them messages from above depending on their results
> 
> 
> 
>     guess_str = str (guess)     # Convert 'guess' to a string of digits.
> 
>     while len (guess_str) < 3:  # If there are less than 3 digits, add 
> leading "0"s until it is three digits.
> 
>         guess_str = "0" + guess_str
> 
>     if len (guess_str) > 3: guess_str = guess_str[-2:]  # Make sure it is no 
> longer than 3 digits.
> 
>     # Here, we know that 'number_str' is exactly 3 digits.  'guess_str' is at 
> least
> 
>     # 3 digits but could be more if the user entered, for example, 34567.
> 
>     print ("digits matched: ", end='')
> 
>     for i in range (2, -1, -1):
> 
>         # 'i' will have the values, 2, 1, 0. 
> 
>         if guess_str[i] == number_str[i]: print ("Y", end='')
> 
>         else: print ("N", end='')
> 
>     print()
> 
> 
> 
> if guess == number:
> 
>     guessesTaken = str(guessesTaken)
> 
>     print("Congrat's, " + N + "! You managed to get the number in " + 
> guessesTaken + " guesses!") #Tells the user they managed to guess it in x 
> number of times
> 
> if guess != number: #If the user is unable to guess the number in 10 times it 
> will stop the loop and give the user a message
> 
>     number = str(number)
> 
>     print("No, the right number was" + number)
> 
> -------------------------
> 
> 
> 
> Some comments...
> 
>   guess_str[-2:]
> 
> you want to read about "slices" in the Python docs, for example
> 
>   http://docs.python.org/2/tutorial/introduction.html#strings
> 
> The -2 means indexing starts counting from the right end of the string 
> 
> rather than the left had the index been positive.
> 
> 
> 
>   print ("Y", end='')
> 
> The end='' means don't print a newline after printing the "Y" string.
> 
> See http://docs.python.org/2/library/functions.html#print
> 
> 
> 
> Also, what Mark and Rusi were trying to say (not very clearly)
> 
> is that when you post from Google Groups, Google Groups insert
> 
> a lot of empty lines in the ">" the at the top of the message.
> 
> 
> 
> Look at your message, 
> 
>   https://groups.google.com/d/msg/comp.lang.python/6WMfzbtIyi8/AV4sce1zPicJ
> 
> (make sure to click the "- show quoted text -" link!) 
> 
> to see what everybody who doesn't use Google Groups sees.
> 
> 
> 
> When post a message, please try to edit you message before
> 
> you send it to get rid of  those blank lines.  In most cases
> 
> you can get rid of all the ">" text, *except* for a small
> 
> amount that gives the gist of what you are responding to.

> >Thank you very much for your reply, however it gives me an error, something 
> >about the "end", do you know whats wrong with it? (Still not sure if im 
> >posting this right so sorry)
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to