[Tutor] Syntax error help

bob gailer bgailer at gmail.com
Sat Mar 31 14:41:20 CEST 2012


Thank you for posting your code.

Did you forget to reply-all? I am copying this to the list this time.

You apparantly misunderstood my question about what you do to run the 
program. You said " I import then call the first function  (the 
displaymenu) or I have it called in the code it does it automatically".

I am running out of patience trying to get from you what we as a Tutor 
List need in order to help you.

Please answer the following:
What operating system are you using (Windows, Linux, Mac, ...)
WHAT DO YOU DO RUN THE PROGRAM. I gave detailed examples of potential 
answers (see below). Do you not understand what I'm looking for?

On 3/30/2012 11:22 PM, chris knarvik wrote:
> Also here is my revised code with what i call a 'programmers error' 
> let me know  if you  see it because i dont
>
Why all the imports - you are not using any math, os or sys code. Also 
You should not do 2 different imports from math. It is better to drop 
the from ...
> import math
> import os, sys
> from math import *
>
> def displaymenu():
>     print 'please make a selection';
>     print 'Area (1)';
>     choice = raw_input('enter selection number')
OK time to learn how to debug.
Since the code goes from if to print, the if condition (choice == 1) 
must be False.
What datatype does raw_input give you?
Why would that cause the condition to be False?
One way to answer that is to read the manual regarding raw_input.
Another is to use print statements with type() to tell you the types.
Therefore just before the if put
print type(choice), type(1)
>
>     if choice == 1:
>        selctiona()
>     else:
>         print'choice',choice,'is wrong'
>         print"why god wont this thing work"
>
>
> def areamenu():
>     print 'Square (1)'
>     print 'triangle (2)'
>     print 'rectangle (3)'
>     print 'trapazoid (4)'
>     print 'circle (5)'
>
> def selctiona():
>     areamenu();
>     choicea = raw_input('enter selection');
>     if choicea == 1:
>        squareacalc()
>
>     else:
>         print 'why god why'
>
> def squareacalc():
>     sidelength = input('enter side length: ')
>     print "The Area Is", sidelength **2
>
You don't seem to call reloadarea!
> def reloadarea():
>    print 'would you like to calculate again'
>    choicer = raw_input('yes(1) or no(2)')
>    if choicer == 1:
This is called recursion. It is better in this kind of program to put 
the entire thing in a while loop(see below)*  rather than to use a 
recursive call.
>        displaymenu()
>    elif choicer == 2:
>        print 'goodbye'
>
> displaymenu()
>
> i cant get past the display menu i get this result
> please make a selection
> Area (1)
> enter selection number1
> choice 1 is wrong
> why god wont this thing work
> <module 'Area' from 'C:\Python27\Area.py'>
> >>>
> let me know if you can see where i went wrong
>
I hope the guidance I gave above helps.

* Using a while loop instead of recursion:
while True:
   displaymenu()
   print 'would you like to calculate again'
   choicer = raw_input('yes(1) or no(2)')
   if choicer == 2: # this also will not work, for the same reason that 
choice == 1 does not work. Once you fix choice == 1 then you can also 
fix this.
     break


>
>>
>>             what do you mean what do i do to run it
>>
>>         There are several ways to execute (run) a Python program.
>>         You can double-click the file in an explorer.
>>         You can at a command prompt type (e.g.) >python Area.py
>>         or you can start an interactive session then type >>>import Area
>>         or you can use an IDE such as IDLE.
>>          within IDLE you can write the program in an edit window then RUN
>>          or you can use the interactive window and type >>>import Area
>>         Which of these (or what else) do you do 
>>
>

-- 
Bob Gailer
919-636-4239
Chapel Hill NC

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120331/d9ecd8d3/attachment.html>


More information about the Tutor mailing list