Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #43191
| Path | csiph.com!usenet.pasdenom.info!aioe.org!news.stack.nl!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail |
|---|---|
| Return-Path | <rosuav@gmail.com> |
| X-Original-To | python-list@python.org |
| Delivered-To | python-list@mail.python.org |
| X-Spam-Status | OK 0.001 |
| X-Spam-Evidence | '*H*': 1.00; '*S*': 0.00; 'elif': 0.05; 'output': 0.05; 'continuation': 0.07; 'level,': 0.07; 'sys': 0.07; 'subject:help': 0.08; 'string': 0.09; 'currently,': 0.09; 'executed': 0.09; 'restart': 0.09; 'summary.': 0.09; 'try:': 0.09; 'python': 0.11; 'above)': 0.16; 'fine.': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'looping': 0.16; 'notably': 0.16; 'summarizes': 0.16; 'true:': 0.16; 'prevent': 0.16; 'wrote:': 0.18; 'wed,': 0.18; 'bit': 0.19; 'have:': 0.19; 'skip:f 30': 0.19; 'version.': 0.19; 'meant': 0.20; 'code,': 0.22; 'programming': 0.22; 'import': 0.22; 'coding': 0.22; 'putting': 0.22; 'instance,': 0.24; 'integer': 0.24; 'fairly': 0.24; 'regardless': 0.24; 'looks': 0.24; 'this:': 0.26; 'least': 0.26; 'header:In-Reply-To:1': 0.27; 'am,': 0.29; 'evaluation': 0.30; 'message-id:@mail.gmail.com': 0.30; 'skip:( 20': 0.30; "i'm": 0.30; '(which': 0.31; 'code': 0.31; 'lines': 0.31; '2009,': 0.31; 'about.': 0.31; 'block,': 0.31; "d'aprano": 0.31; 'sep': 0.31; 'steven': 0.31; 'probably': 0.32; 'another': 0.32; 'sense': 0.34; "i'd": 0.34; 'could': 0.34; 'received:209.85': 0.35; 'except': 0.35; 'received:209.85.220': 0.35; 'equal': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'version': 0.36; 'doing': 0.36; 'thanks': 0.36; 'received:209': 0.37; 'nov': 0.38; 'skip:m 40': 0.38; 'to:addr:python-list': 0.38; 'that,': 0.38; 'quote': 0.39; 'sure': 0.39; 'to:addr:python.org': 0.39; 'how': 0.40; 'most': 0.60; 'conversion': 0.61; 'strictly': 0.61; 'simply': 0.61; "you're": 0.61; 'first': 0.61; 'back': 0.62; 'finish': 0.65; 'talking': 0.65; 'reply': 0.66; 'mar': 0.68; 'condition.': 0.84; '1:47': 0.91; '2013,': 0.91; '2013': 0.98 |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=3T62oCeiprCN3msNFjQcj+A6kPhBbQu0IlOn5ffffh4=; b=espBE01rlbcvqaVHgNkQAdg69UkZslPMWYpELMdE+6UwJqSqEEuCIw6gpCiRw5yuAM zswnJJoxjL6yk4HtBLWmxL8+Bz+bzUbI12qEChMiNAme2XEMSt/bbrZiNajsZVd+dWsn rCsWKM/+yKg7ZlimT3RWW8vuZLo7/x1tqyijuNV9PqsAIZKaDNov7LNBzRfkZXhpnluS iM2XF6WrNoQgVv2H8+/lm6V15szaT8e5+018wfltHuLOFZJZrCKQHaX+dg97zM0MPvSK fQTFH8Lrnfn2dlm8jTGAM24w9tqTbicABmh6JgkqgybIxQGjX2cXECV7WUhs4k/mEC+P eNtw== |
| MIME-Version | 1.0 |
| X-Received | by 10.52.37.109 with SMTP id x13mr17134256vdj.10.1365523829499; Tue, 09 Apr 2013 09:10:29 -0700 (PDT) |
| In-Reply-To | <a530b25f-f9d9-45e9-925c-0ecd8a660cf6@googlegroups.com> |
| References | <b93147e7-9d17-4232-99a3-767b88f9e9ba@googlegroups.com> <596ca4b8-b5aa-4112-b086-6320108075f7@googlegroups.com> <mailman.348.1365516328.3114.python-list@python.org> <a530b25f-f9d9-45e9-925c-0ecd8a660cf6@googlegroups.com> |
| Date | Wed, 10 Apr 2013 02:10:29 +1000 |
| Subject | Re: While loop help |
| From | Chris Angelico <rosuav@gmail.com> |
| To | python-list@python.org |
| Content-Type | text/plain; charset=ISO-8859-1 |
| X-BeenThere | python-list@python.org |
| X-Mailman-Version | 2.1.15 |
| Precedence | list |
| List-Id | General discussion list for the Python programming language <python-list.python.org> |
| List-Unsubscribe | <http://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe> |
| List-Archive | <http://mail.python.org/pipermail/python-list/> |
| List-Post | <mailto:python-list@python.org> |
| List-Help | <mailto:python-list-request@python.org?subject=help> |
| List-Subscribe | <http://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.359.1365523839.3114.python-list@python.org> (permalink) |
| Lines | 90 |
| NNTP-Posting-Host | 2001:888:2000:d::a6 |
| X-Trace | 1365523839 news.xs4all.nl 2592 [2001:888:2000:d::a6]:43588 |
| X-Complaints-To | abuse@xs4all.nl |
| Xref | csiph.com comp.lang.python:43191 |
Show key headers only | View raw
On Wed, Apr 10, 2013 at 1:47 AM, <thomasancilleri@gmail.com> wrote:
> ... I'm not sure what version I'm using ...
Try putting these lines into a Python script:
import sys
print(sys.version)
That, on any version of Python (back a fairly long way, Steven
D'Aprano can probably say how far), will give you a line or so of
output that summarizes your version. For instance, I can get the
following:
3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:55:48) [MSC v.1600 32 bit (Intel)]
2.7.4 (default, Apr 6 2013, 19:54:46) [MSC v.1500 32 bit (Intel)]
3.1.1+ (r311:74480, Nov 2 2009, 14:49:22)
[GCC 4.4.1]
3.4.0a0 (default:5dcd7ee0716a, Mar 30 2013, 08:17:06)
[GCC 4.7.2]
It's a handy system summary.
> choice = raw_input("\n1:Inches to Meter\n2:Millileters to Pint\n3:Acres to Square-Miles\n")
> if choice == 1:
You probably want to use int(raw_input(...)) here; currently, you're
going to get back a string eg "1", which is not equal to the integer
1. But at least now you don't have the automatic evaluation happening
:)
> 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"
Notice how you have the "restart = " line (which I quote above)
duplicated into each of your code branches? That's what I'm talking
about. Here's a pseudocode version of the looping you have:
while restart:
choice = get_choice()
if choice == 1:
do_choice_1()
restart = get_restart()
elif choice == 2:
do_choice_2()
restart = get_restart()
elif choice == 3:
do_choice_3()
restart = get_restart()
Here's how you could deduplicate that:
while restart:
choice = get_choice()
if choice == 1:
do_choice_1()
elif choice == 2:
do_choice_2()
elif choice == 3:
do_choice_3()
restart = get_restart()
The restart line is unindented one level, which brings it out of the
if/elif block, and then it'll get executed regardless of 'choice'. (To
strictly match your original code, you'd need to finish the elif block
with "else: continue", but the code makes at least as good sense
without it, so I'd consider that optional.)
> 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!
You're doing fine. The general pattern of programming is:
while True:
write_code()
try:
figure_out_what_is_wrong_with_code()
except LackOfSkillException:
mail("python-list@python.org",smart_question())
run_code()
So far, looks like you're following it just fine. :)
ChrisA
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
While loop help thomasancilleri@gmail.com - 2013-04-09 06:32 -0700
Re: While loop help thomasancilleri@gmail.com - 2013-04-09 06:57 -0700
Re: While loop help Dave Angel <davea@davea.name> - 2013-04-09 13:12 -0400
Re: While loop help thomasancilleri@gmail.com - 2013-04-09 10:18 -0700
Re: While loop help Chris Angelico <rosuav@gmail.com> - 2013-04-10 03:23 +1000
Re: While loop help Dave Angel <davea@davea.name> - 2013-04-09 13:30 -0400
Re: While loop help thomasancilleri@gmail.com - 2013-04-09 06:58 -0700
Re: While loop help Chris Angelico <rosuav@gmail.com> - 2013-04-10 00:05 +1000
Re: While loop help thomasancilleri@gmail.com - 2013-04-09 08:47 -0700
Re: While loop help Joel Goldstick <joel.goldstick@gmail.com> - 2013-04-09 12:02 -0400
Re: While loop help Chris Angelico <rosuav@gmail.com> - 2013-04-10 02:10 +1000
Re: While loop help thomasancilleri@gmail.com - 2013-04-09 09:24 -0700
Re: While loop help Joel Goldstick <joel.goldstick@gmail.com> - 2013-04-09 12:36 -0400
Re: While loop help Chris Angelico <rosuav@gmail.com> - 2013-04-10 02:47 +1000
Re: While loop help thomasancilleri@gmail.com - 2013-04-09 09:57 -0700
Re: While loop help Chris Angelico <rosuav@gmail.com> - 2013-04-10 03:08 +1000
Re: While loop help Dave Angel <davea@davea.name> - 2013-04-09 13:27 -0400
Re: While loop help thomasancilleri@gmail.com - 2013-04-09 09:57 -0700
Re: While loop help thomasancilleri@gmail.com - 2013-04-09 09:24 -0700
Re: While loop help Walter Hurry <walterhurry@lavabit.com> - 2013-04-09 19:35 +0000
Re: While loop help Dave Angel <davea@davea.name> - 2013-04-09 16:12 -0400
Re: While loop help Walter Hurry <walterhurry@lavabit.com> - 2013-04-09 20:59 +0000
Re: While loop help Chris Angelico <rosuav@gmail.com> - 2013-04-10 08:36 +1000
Re: While loop help rusi <rustompmody@gmail.com> - 2013-04-10 08:59 -0700
Re: While loop help thomasancilleri@gmail.com - 2013-04-09 08:47 -0700
Re: While loop help Chris Angelico <rosuav@gmail.com> - 2013-04-10 00:00 +1000
Re: While loop help thomasancilleri@gmail.com - 2013-04-09 09:49 -0700
Re: While loop help Larry Hudson <orgnut@yahoo.com> - 2013-04-09 23:44 -0700
Re: While loop help Larry Hudson <orgnut@yahoo.com> - 2013-04-10 20:00 -0700
Re: While loop help jmfauth <wxjmfauth@gmail.com> - 2013-04-09 12:19 -0700
csiph-web