Thank you for the help Brian.  I would like to ask you about these things.  
Which one of the examples you gave would be most fool proof.> Date: Wed, 23 May 
2007 13:40:09 -0400> From: [EMAIL PROTECTED]> To: [EMAIL PROTECTED]> CC: 
tutor@python.org> Subject: Re: [Tutor] trouble with "if"> > adam urbas said 
unto the world upon 05/23/2007 01:04 PM:> > Sorry, I don't think Hotmail has 
turn off HTML.  If it does I> > havn't been able to find it.  I think you're 
going to have to> > explain your little bit of text stuff down there at the 
bottom.  I> > have no idea what most of that means.  All my choice things are> 
> working now though.  I think that is what you were trying to help> > me with. 
 What I used wasif shape in["1","circle"]:and if shape ==> > "1" or shape 
=="circle":It works perfectly fine now.Ya that little> > bit o' code is really 
puzzling.  I wish I knew more about this> > python deal.  I understand the 
concept, but not the rules or the> > techniques and things of that sort.  OK... 
I've got it... the> > data=raw_input('Feed Me!').  Ok I now understand that 
bit.  Then it> > says Feed Me!  and you put 42 (the ultimate answer to life 
the> > universe, everything).  OK, it won't accept the <type 'str'> bit.> > it 
doesn't like the "<".  Well, I just removed that bit and it> > said:Feed Me!  
and I put 42, and it said >>> (I guess it's> > satisfied now, with the whole 
feeding).  Well if I understood what> > 'str' meant, then I could probably 
figure the rest out.  Well I> > have to go do other things so I'll save the 
rest of this figuring> > out till later.I shall return,Adam> Date: Wed, 23 May 
2007 12:12:16> > -0400> From: [EMAIL PROTECTED]> To: [EMAIL PROTECTED]> CC:> > 
tutor@python.org> Subject: Re: [Tutor] trouble with "if"> > adam> > urbas said 
unto the world upon 05/23/2007 11:57 AM:> > > > Hi all,>> > > > > I've been 
working with this new program that I wrote.  I> > started out > > with it on a 
Ti-83, which is much easier to program> > than python.  Now > > I'm trying to 
transfer the program to python> > but its proving to be quite > > difficult.  
I'm not sure what the> > whole indentation thing is for.  And > > now I'm 
having trouble> > with the if statement things. > > > > #"Circle Data 
Calculation> > Program:"> > print "Welcome to the Circle Data Calcuation> > 
Program."> > print> > > >     #"Menu 1:"> > print "Pick a shape:">> > > print 
"(NOTE: You must select the number of the shape and not the> > shape > > 
itself)"> > print "1 Circle"> > print "2 Square"> > print> > "3 Triangle"> > > 
>     #"User's Choice:"> > shape=raw_input("> ")>> > > > >         #"Select 
Given:"> > if shape == 1:> >         print> > "Choose the given value:"> >      
   print "1 radius"> >> > print "2 diameter"> >         print "3 
circumference"> >> > print "4 area"> > > > #"User's Choice:"> > 
given=raw_input("> ")> >> > > > if given == 1:> >         
radius=raw_input("Enter Radius:")> >> > diameter=(radius*2)> >         
circumference=(diameter*3.14)> >> > area=(radius**2*3.14)> >         print 
"Diameter:", diameter> >> > print "Circumference:", circumference> >         
print "Area:",> > area> > > > if given == 2:> >         
diameter=raw_input("Enter> > Diameter:")> >         radius=(diameter/2)> >> > 
circumference=(diameter*3.14)> >         area=(radius**2*3.14)> >> > print 
"Radius:", radius> >         print "Circumference:",> > circumference> >        
 print "Area:", area> > > > if given == 3:>> > >         
circumference=raw_input("Enter Circumference:")> >> > 
radius=(circumference/3.14/2)> >         diameter=(radius*2)> >> > 
area=(radius**2*3.14)> >         print "Radius:", radius> >> > print 
"Diameter:", diameter> >         print "Area:", area> > > >> > if given == 4:> 
>         area=raw_input("Enter Area:")> >> > radius=(area/3.14)> >          > 
> This is the whole program so> > far, because I haven't quite finished it > > 
yet.  But I tried to> > get it to display another list of options after you > > 
select a> > shape but it just does this.> > > > Pick a shape:> > 1 Circle> > 2> 
> Square> > 3 Triangle> >  >1> >  >1> >  >>>> > > > I'm not sure why> > it does 
that but I do know that it is skipping the > > second list> > of options.> > > 
> Another of my problems is that I can't figure> > out how to get it to > > 
accept two different inputs for a> > selection.  Like I want it to accept > > 
both the number 1 and> > circle as circle then list the options for > > circle. 
 It won't> > even accept words.  I can only get it to accept > > numbers.  
It's> > quite frustrating actually.> > > > Any advice would be greatly> > 
appreciated.> > Thanks in advance,> > Adam> > > > > > > Adam,> >> > Could you 
send plain text email rather than html, please? At least> > for > me, your 
code's indentation is all messed up unless I take> > some steps > to rectify 
it.> > The problem is that raw_input> > returns a string, and you are testing > 
whether given is equal to> > integers. See if this helps make things clear:> >  
>>> data => > raw_input('Feed me!')> Feed me!42>  >>> type(data)> <type 
'str'>>> > >>> data == 42> False>  >>> int(data) == 42> True>  >>>> > Best,> >> 
> Brian vdB > > > Adam,> > As you can see from the above, the way hotmail is 
formatting things > makes the conversation a bit tricky :-) I'm only willing to 
spend so > much time trying to sort through it, so I hope what follows helps.> 
>  >>> data = raw_input("Feed me!")> Feed me!42> > This calls the builtin 
function raw_input with a parameter setting the > prompt to "Feed me!" and 
assigns the result to data. Since I hit 42 > and then enter,> >  >>> data> 
'42'> > Notice the quotes around 42. They indicate that the value of data is a 
> string. That's what this tells us:> >  >>> type(data)> <type 'str'>> > The 
string '42' is not the same as the integer 42:> >  >>> type(42)> <type 'int'>>  
>>> '42' == 42> False> > So, when you had an if test that was something like:> 
> if given == 1:>     # Do stuff here> > the equality comparison was never 
going to work---given was a string > returned by raw_input and no string is 
ever equal to an integer.> > What I suggested was taking the string returned by 
raw_input and > feeding it to int() to transform it from a string to an 
integer, and > allow your if test to stand a chance:> >  >>> data = 
raw_input("Feed me!")> Feed me!42>  >>> if data == 42:> ...   print "Matches!"> 
...>  >>> data = int(raw_input("Feed me!"))> Feed me!42>  >>> if data == 42:> 
...   print "Matches!"> ...> Matches!>  >>>> > There are other ways, for 
instance:> >  >>> data = raw_input("Feed me!")> Feed me!42>  >>> if data == 
'42':> ...   print "Matches!"> ...> Matches!>  >>>> > Here, instead of 
transforming data to an int and then testing for > equality with 42, I left 
data as a string and tested for equality with > the string '42'.> > The way 
calling int() is a bit better, I think. If the user enters a > few spaces, then 
42 then a few more spaces, that way will still work:> >  >>> data = 
int(raw_input("Feed me!"))> Feed me!    42>  >>> if data == 42:> ...   print 
"Matches!"> ...> Matches!>  >>>> > because> >  >>> int('    42    ')> 42>  >>>> 
> whereas> >  >>> '    42    ' == '42'> False> > > I hope there is some help in 
there somewhere :-)> > Brian vdB
_________________________________________________________________
Change is good. See what’s different about Windows Live Hotmail.
www.windowslive-hotmail.com/learnmore/default.html?locale=en-us&ocid=TXT_TAGLM_HMWL_reten_changegood_0507
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to