Constructive Criticism
Peter Otten
__peter__ at web.de
Thu Jan 9 04:56:37 EST 2014
jeremiahvalerio123 at gmail.com wrote:
> Hi, hows it going I've been self teaching myself python, and i typed up
> this small script now i know its not the best the coding is not the best
> but i would like to know of ways to make a small script like this better
> so all constructive critisim is Welcome.
>
>
>
> Here is the link to the code
>
> " http://pastebin.com/5uCFR2pz "
> time.sleep(1)
> import time
> print("Closing in 9 ")
> time.sleep(1)
> import time
> print("Closing in 8 ")
- You should import modules just once, at the beginning of your script.
- Repetetive tasks are best handled with a for-loop, e. g.:
>>> import time
>>> for seconds_left in reversed(range(1, 10)):
... print("Closing in", seconds_left, "seconds")
... time.sleep(1)
...
Closing in 9 seconds
Closing in 8 seconds
Closing in 7 seconds
Closing in 6 seconds
Closing in 5 seconds
Closing in 4 seconds
Closing in 3 seconds
Closing in 2 seconds
Closing in 1 seconds
> user_input = input("\nWhos your favorite Football team? \n 1.Arizona
> Cardinals\n 2.Atlanta Falcons\n 3.Baltimore Ravens\n 4.Buffalo Bills\n
> 5.Miami Dolphins\n 6.Minnesota Vikings \n 7.New England Patriots \n
> 8.New Orleans Saints \n 9.Carolina
[snip]
Python offers triple-quoted strings which may include newline literals:
user_input = input("""
Who's your favorite Football team?
1. Arizona Cardinals
2. Atlanta Falcons
...
""")
> if user_input == "1" :
> print("\nThey suck! BYE!")
>
> elif user_input == "2" :
> print("\nThey suck! BYE!")
>
> elif user_input == "3" :
> print("\nThey suck!BYE!")
[snip]
Ignoring the typos you are taking the same action for all inputs but "17".
So:
if user_input != "17":
print()
print("They suck! BYE!")
You should give some thought how unexpected user input like "", "123",
"whatever" should be handled.
> elif user_input == "no" :
> print("\nAlrighty bye have a nice day! :)\n\nClosing in 10.")
> import time
> time.sleep(1)
> import time
> print("Closing in 9 ")
> time.sleep(1)
> import time
> print("Closing in 8 ")
> time.sleep(1)
> import time
OK, you are doing the count-down thing twice -- time to write a function,
say countdown(), that you can put where you need a count-down instead of the
repetetive code.
More information about the Python-list
mailing list