Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #59246

Re: Some python newb help please?

Date 2013-11-12 22:56 +0000
From MRAB <python@mrabarnett.plus.com>
Subject Re: Some python newb help please?
References <f9bcd68d-ac00-421a-ade5-5f5690861d25@googlegroups.com> <mailman.2490.1384294935.18130.python-list@python.org> <22894a10-1ffd-4671-94f4-962dfb56e4fd@googlegroups.com>
Newsgroups comp.lang.python
Message-ID <mailman.2495.1384296995.18130.python-list@python.org> (permalink)

Show all headers | View raw


On 12/11/2013 22:27, lrwarren94@gmail.com wrote:> On Tuesday, November 
12, 2013 4:21:58 PM UTC-6, Mark Lawrence wrote:
 >> On 12/11/2013 22:14, lr....@gmail.com wrote:
 >>
 >> > So I'm trying to write a program for a problem in class, and 
something strange is happening that I can't figure out why is happening. 
I was wondering if you guys could help me fix it?
 >> >
[snip]
 >
 > x = 0
 > y = 0
 > quitCommand = 0
 >
 > print "Welcome to the World of Textcraft!"
 > print "----------------------------------"
 > print ""

You can simplify that to:

     print

 >
 > while quitCommand != int(5):

5 is already an int, so int(5) == 5.

 >      print "You are currently at (" + str(x) + ", " + str(y) + ")"
 >      print "Enter a command (1 = North, 2 = East, 3 = South, 4 = 
West, 5 = Exit):"
 >      if int(raw_input()) == 1:

You're asking the user to enter something and then checking whether its 
int value is 1.

 >              print "Moving north"
 >              y = y + 1
 >      elif int(raw_input()) == 2:

Now you're asking the user to enter something _again_ and then checking 
whether its int value is 2.

In other words, in order for it to print "Moving east" the following 
steps must occur:

1. Ask the user to enter something.

2. Check whether it's 1. It isn't. (Previous condition)

3. Ask the user to enter something.

4. Check whether it's 2. (This condition)

 >              print "Moving east"
 >              x = x + 1
 >      elif int(raw_input()) == 3:

Similar remarks to above, but longer.

 >              print "Moving south"
 >              y = y - 1
 >      elif int(raw_input()) == 4:

Similar remarks to above, but longer again.

 >              print "Moving west"
 >              x = x - 1
 >      elif int(raw_input()) == 5:

Similar remarks to above, but longer again.

 >              print "Dost thou leave so soon? Fare thee well!"
 >              quitCommand = 5
 >      else:
 >              print "I find your lack of reading comprehension skills 
disturbing."
 >

The fix is simple. Ask once:

      answer = int(raw_input())
      if answer == 1:
          ...
      elif answer == 2:
          ...
      ...

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Some python newb help please? lrwarren94@gmail.com - 2013-11-12 14:14 -0800
  Re: Some python newb help please? Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-11-12 22:21 +0000
    Re: Some python newb help please? lrwarren94@gmail.com - 2013-11-12 14:27 -0800
      Re: Some python newb help please? Mark Lawrence <breamoreboy@yahoo.co.uk> - 2013-11-12 22:54 +0000
      Re: Some python newb help please? MRAB <python@mrabarnett.plus.com> - 2013-11-12 22:56 +0000
        Re: Some python newb help please? lrwarren94@gmail.com - 2013-11-12 15:04 -0800
          Re: Some python newb help please? Chris Angelico <rosuav@gmail.com> - 2013-11-13 10:19 +1100
      Re: Some python newb help please? Tim Chase <python.list@tim.thechases.com> - 2013-11-12 16:59 -0600
      Re: Some python newb help please? Chris Angelico <rosuav@gmail.com> - 2013-11-13 09:58 +1100
      Re: Some python newb help please? Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-11-12 20:49 -0500
  Re: Some python newb help please? John Strick <jstrickler@gmail.com> - 2013-11-12 14:49 -0800
  Re: Some python newb help please? Denis McMahon <denismfmcmahon@gmail.com> - 2013-11-12 23:05 +0000

csiph-web