Python is basically a scripting language - it needs an interpreter to run. However, since it has gained a lot of attention lately (plus, my daughter has to learn it and I obviously HAVE to help her), I will start some notes on that here :-p
Since I am from a C-programming background, I will most of the time compare the two languages.
For this, we only need a code editor to write our code and python interpreter installed. For those using Linux, most distributions have this installed by default. For Windows users, you will have to get the installer from here.
I prefer simple code editors, so I recommend Geany. If you want an IDE, pycharm (a commercial software - but has a community edition version available) is not bad. Its interface is VERY similar to Android Studio :-p
There are currently two python versions that is being used python2.7 and python3.x - somehow, python3 brings a lot of changes that render scripts/codes written for python2.7 no longer usable. So, until that is fixed, we will have to choose. Slackware Linux (MY Linux distribution of choice) installs python2.7 by defaut - so, that is what I will be using.
A few things to note:
to be continued…
# howto: print text # howto: get input from user # howto: display variable from datetime import date import sys def get_input(ask): if sys.version_info[0] < 3 or sys.version_info[1] < 4: temp = raw_input(ask) else: temp = input(ask) return temp def get_year(): year = date.today().strftime("%Y") return int(year) print("This is "+"awesome!") name = get_input("Please enter your name: ") print("Hello, " + name + "!") year = get_input("Please enter the year you were born: ") print("You were born in year " + year + "?" ) age1 = get_year()-int(year) print("That means you are " + str(age1) + " years old!")
# howto: detect input error (using exception) from datetime import date import sys def get_input(ask): if sys.version_info[0] < 3 or sys.version_info[1] < 4: temp = raw_input(ask) else: temp = input(ask) return temp def get_year(): year = date.today().strftime("%Y") return int(year) print("This is "+"awesome!") name = get_input("Please enter your name: ") print("Hello, " + name + "!") year = get_input("Please enter the year you were born: ") try : test = int(year) print("You were born in year " + year + "?" ) age1 = get_year() - test print("That means you are " + str(age1) + " years old!") except ValueError : print("Is '" + year + "' a valid year?")
# howto: print text with no newline # howto: delay execution # need this to enable python3 print feature in python2 from __future__ import print_function import sys import time print("This... ",end='') sys.stdout.flush() time.sleep(1) print("is... ",end='') sys.stdout.flush() time.sleep(1) print("legend (wait for it)... ",end='') sys.stdout.flush() time.sleep(1) print("ary!")
Branch statement (if-else)
# howto: branch statement (selection) import sys def get_input(ask): if sys.version_info[0] < 3 or sys.version_info[1] < 4: temp = raw_input(ask) else: temp = input(ask) return temp mark = get_input("Enter your mark: ") mark = int(mark) if mark > 100 or mark < 0 : print("That is out of valid range!") elif mark >= 80 : print("Grade : A") elif mark >= 75 : print("Grade : A-") elif mark >= 70 : print("Grade : B+") elif mark >= 65 : print("Grade : B") elif mark >= 60 : print("Grade : B-") elif mark >= 55 : print("Grade : C+") elif mark >= 50 : print("Grade : C") elif mark >= 45 : print("Grade : C-") elif mark >= 40 : print("Grade : D+") elif mark >= 35 : print("Grade : D") elif mark >= 30 : print("Grade : D-") else: print("Grade : F")
Iterative code (loops)
loop = 0 while loop < 100: loop = loop + 1 if loop==9: break elif loop==4: continue print(loop) print("-- Range:") for loop in range(3): print(loop) print("-- Spell:") for that in "pisang goreng": if that==' ': continue print(that)
# howto: get command-line text import sys print('Number of arguments:'+str(len(sys.argv))+'arguments.') print('Argument String:'+str(sys.argv)); step=0 for that in sys.argv: step = step + 1 print("#"+str(step)+": "+that)