[Tutor] Looking for a tutor to review my code and provideconstructive feedback.
Mark Tolonen
metolone+gmane at gmail.com
Fri Nov 5 09:32:43 CET 2010
"Glen Clark" <glenuk at gmail.com> wrote in message
news:AANLkTimaBbj8ae35q3aO9+XZBvtnyZbZ3WRudahmN+hf at mail.gmail.com...
> Hello,
>
> I have completed my first python script. This is after watching a video
> guide on python and is my first attempt at writing code in python. While
> the
> code is not very useful I got the idea for it when googling "python
> projects
> for beginners".
>
> The idea was to create a script that asked the user to input a list of
> names
> and allow the user to change a name if he wanted before confirming the
> entries.
>
> I tried to incorporate what I had learnt from the videos, such as
> conditionals, error handling, functions etc... and write it how I would
> write code in future.
>
> Please if you are kind enougth to take the time to provide feedback I
> would
> appreciate that it is constructive :)
>
> The script is here: http://bpaste.net/show/10658/
Your code is very readable...more so than some experienced people ;^)
A few suggestions (and assuming Python 3.X, since that's what it looks
like):
* "list" shadows a built-in type, and should not be used for variable
names. "names" would be more appropriate.
* input() return a string, so no need for str(input(...)).
* range(x) is equivalent to range(0,x).
* The two loops in InitiateEntries can be consolidated:
for In in range(NumItems):
names.append(input("Enter name {}: ".format(In+1)))
Or using a list comprehension:
names = [input("Enter name {}: ".format(In+1) for In in
range(NumItems)]
* Prefer "for name in names:" instead of using indexing, or "for
idx,name in enumerate(names):" if indexes are needed. Example:
for idx,name in enumerate(names):
print("{}: {}".format(idx,name)
* Since 1-based indexing was used elsewhere to present names to the
user, the PrintEntries display code should also use idx+1.
* When returning a boolean value, you can simpify:
if confirmed == 'n':
return True
else:
return False
To:
return confirmed == 'n'
Also see PEP8 (http://www.python.org/dev/peps/pep-0008/) for Python's
suggested coding standard.
-Mark
More information about the Tutor
mailing list