While loop help

Joel Goldstick joel.goldstick at gmail.com
Tue Apr 9 12:02:15 EDT 2013


On Tue, Apr 9, 2013 at 11:47 AM, <thomasancilleri at gmail.com> wrote:

> Sorry I'm just starting to learn python and I'm not sure what version I'm
> using to be quite honest. I just started typing it up in Komodo edit (Which
> I'm not personally a fan in particular) I fixed the missing parenthesis
> which fixed the invalid syntax problem. Also, I apologize for submitting
> code that did not run. This is the code I have now before I tried looping
> it again:
>
> #!/usr/bin/env python
>
> #Program starts here
> print "To start the Unit Converter please type the number next to the
> conversion you would like to perform"
>

choice is not converted to an integer.  raw_input returns a string.


> choice = raw_input("\n1:Inches to Meter\n2:Millileters to Pint\n3:Acres to
> Square-Miles\n")
>

 This will convert choice to an int.  Actually, it might not if what you
type is not a number.  Then it will cause and exception.
But for now, do this:

> choice = int(choice)
>

or leave choices as a string and make your if statements like if choice ==
'1'


> #If user enters 1:Program converts inches to meters
> if choice == 1:
>     #operation = "Inches to Meters"
>     number = int(raw_input("\n\nType the amount in Inches you would like
> to convert to Meters.\n"))
>     calc = round(number * .0254, 2)
>     print "\n",number,"Inches =",calc,"Meters"
>     restart = raw_input("If you would like to perform another conversion
> type: true\n")
>
> #If user enters 2:Program converts millimeters to pints
> elif choice == 2:
>     #operation = "Milliliters to Pints"
>     number = int(raw_input("\n\nType the amount in Milliliters you would
> like to convert to Pints.\n"))
>     calc = round(number * 0.0021134,2)
>     print "\n",number,"Milliliters =",calc,"Pints"
>     restart = raw_input("If you would like to perform another conversion
> type: true\n")
>
> #If user enter 3:Program converts kilometers to miles
> elif choice == 3:
>     #operation = "Kilometers to Miles"
>     number = int(raw_input("\n\nType the amount in Kilometers you would
> like to convert to Miles.\n"))
>     calc = round(number * 0.62137,2)
>     print "\n",number,"Kilometers =",calc,"Miles"
>     restart = raw_input("If you would like to perform another conversion
> type: true\n")
>
> Not sure what you meant to exactly by this:
> "There's a lot of duplicated code here, most notably your continuation
> condition. You can simply back-tab after the elif block and have some
> code that reunites all the branches; this would also make things
> clearer"
>
> Thanks for your reply and if you have any ideas for me to improve my
> coding that will prevent me from learning python in a sloppy way. I'd like
> to learn it correctly the first time!
> --
> http://mail.python.org/mailman/listinfo/python-list
>



-- 
Joel Goldstick
http://joelgoldstick.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130409/4cabc65a/attachment.html>


More information about the Python-list mailing list