Changes

Jump to: navigation, search

OPS435 Python Lab 1

1,453 bytes removed, 15:32, 9 May 2019
LAB OBJECTIVES
= LAB OBJECTIVES =
:In this lab, you will first select and install a current distribution of Linux to be used as in a host machineVirtual Machine on your external SSD. You will NOT be required to setup Virtual Machines for do all of your future work within this lab VM (that will be covered in a future labincluding quizzes!). You will then setup your Python scripting environment on your host machine, including the setup the of '''python''' libraries and also the setup of a user-friendly interactive Python environment called '''ipython'''. You will also install additional framework tools (such as '''git''', '''vim''', and '''tmux''') to be used in later labs.
:After selecting an appropriate text editor to use, then you will start to create '''Python''' scripts to learn basic operations such as: '''printing text''', '''using variablesobjects''', and performing '''math operations'''.
<br><br>
 
= INVESTIGATION 1: INSTALLING LINUX VM=
<!-- Try to use tables and simplify the layers of WIKI to make top links less verbose to students -->
:Centos 7 - release 1810 will be used for this course. The purpose for this is to allow you to use a consistent and stable '''RedHat''' based OS, and to lower the amount of new linux distros that you need to learn.
:Since Python runs <u>independently</u> regardless Most of the Linux distribution, you have some flexibility of which Linux OS to will likely usethe school's Windows machines with the Vmware hypervisor.  :The stable version of Centos 7 - release 1161 will be chosen to be supported for this course. The purpose for this It is to allow all students also possible to use a consistent '''red-hat''' based OSyour own computer, and to lower the amount of new linux distros but check with your professor before you do that need to be learned by students. This should be the default choice for this course, as it allows for the course to run longer before getting outdated with new software and updates.
:Centos 7 comes with python 2.7, which means that for this version of Python is NOT optimal immediately after OS installcourse we will be primarily using Python3. However, not teaching practicing python 2.7 would be a mistake, since so many programs and operating systems still depend on python 2Python2. It is recommended that students note general improvements that are being made /differences in Python2 (as well as and Python3.
::*'''Name:''' centos7
::*'''Boot media / Installation:''' CentOS7 Full Install DVD
:::*Download at Seneca College: CentOS 7 Full Install DVD (image file): http://belmont.senecacollege.ca/pub/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-16111810.iso:::*Download outside Seneca College: http://mirror.csclub.uwaterloo.ca/centos/7/isos/x86_64/CentOS-7-x86_64-EverythingDVD-16111810.iso
::*'''Disk space:''' 50GB
::*'''CPUs:''' 4(Number of processors: 1, Number of cores per processor: 4)
::*'''Internal Memory:''' 8GB
::*'''Environment:''' GNOME Desktop
<!--==== Environment Setup ====
:'''Perform the following steps:'''
:#Regardless of the Linux distribution you decide to use that is used for this course, this these lab will be using and referring to the current version of '''Centos7CentOS 7''' (Graphical Desktop) for our main Linux machine. When creating your VM, refer to the '''Details / Minimum Requirements''' section above for assistance. :#Install CentOS 7 VM selecting the default partitions. When you have finished the installation of Centos7CentOS 7, you may proceed to the next step. <blockquote style="margin-left:35px;">{{Admon/important|style="padding-left:25px"|Unit Evaluation Feedback Scripts|Each '''Part''' (within an 'Investigation) is referred to as a '''Unit'''. Each Unit will require that the student download and run a '''Unit Evaluation Feedback Script''', which provides the OPS435 student "real-time feedback" of their completed work.<br>This feedback is not considered to be perfect or fool-proof; however, it may provide feedback (hints) in case a student gets stuck or experiences an error when performing administration tasks or when creating their Python scripts. These unit evaluation feedback scripts can also be used to confirm that the student's Python script is on the right track, and provide a consist consistent record of their Python scripting progress throughout their labs.}}</blockquote>
<!--<ol><li value="23" style="margin-left:25px;">Issue the following commands (as a regular user) in order to setup, download and run the first unit evaluation feedback script:<br><sourcelang="bash">
mkdir -p ~/ops435/lab1/
cd ~/ops435/lab1/
pwd # <-- i.e. confirm that you are in the correct directory
ls CheckLab1.py || wget matrix.senecachttps://raw.ongithubusercontent.cacom/~acoatleySeneca-willisCDOT/ops435/master/LabCheckScripts/CheckLab1.pypython python3 ./CheckLab1.py -f -v lab0a
</source></li>
<li value="3" style="margin-left:25px;">Before moving on to the next step make sure you identify any and all errors from the check script.<br>When the check script tells you everything is "ok" for "lab0a", you may proceed to the next step.<br><br></li><li style="margin-left:25px;">Make notes for all of your Investigation 1 (part1) observations in your lab log book, and proceed to part 2.</li></ol>-->
=== PART 2 - Setting up Your Python Environment For Labs ===
In order to learn how to use python on your Linux machine, it is important to setup your Linux environment and learn how to interact with a Python shell. The following should be done on a terminal as the superuser (i.e. root).
:'''Perform the following steps:'''
:#The first step is to update your entire system. <sourcelang="bash">
yum update
</source>
:#Install extra packages for enterprise linux:<sourcelang="bash">
yum install epel-release
</source>
:#Next install applications that we required, first Python version 3 and version 2:<sourcelang="bash">
yum install python34 python34-devel # Install python3.4 and python3.4 development libraries
yum install python python2-devel # Install python2.7 and python2.7 development libraries
</source>
:#We now need to create a link to python3.4:<source lang="bash">cd /binln -s python3.4 python3</source>:#Next, you will install a couple of useful applications called '''tmux''' and '''screen'''. They are referred to as '''terminal multiplexers'''. If you plan to spend a lot of time in the terminal, this powerful tool will help you get it done. Lets install it and plan to use it later:<sourcelang="bash">
yum install screen tmux && ln -s /usr/bin/true /etc/sysconfig/bash-prompt-screen
</source>
:# Set your hostname to the Linux Distribution we are using in case you did not set it correctly during the install process:<sourcelang="bash">
hostnamectl set-hostname centos7 # Set your hostname to distribution-name
</source>
::You will be required to use a text editor in order to create and modify your Python scripts. There are many text editors that provide various features to become more comfortable and productive during your Python coding sessions.
::Below is a listing of several common text editors and their features.
<blockquote style="margin-left:35px;">{{Admon/tip|style="padding-left:25px"|Selecting an Appropriate Text Editor|
'''Geany''' (recommended text editor for labs)<br>A simple graphical text editor for developers. It is available in the CentOS package repositories.<br>
'''Vim'''<br>vim is a powerful text editor for system administration and programming tasks. All of the shortcuts and commands you've learned over the years will help you edit programs efficiently.<br>
'''Sublime'''<br>Another powerful and popular text editor designed for programming. Is not free or open source.}}</blockquote>
 <blockquote><blockquote>{{Admon/tip|style="padding-left:25px"|Selecting an Appropriate Text Editor|'''Vim''' (recommended text editor for labs)<br>vim is a powerful text editor for system administration and programming tasks. All of the shortcuts and commands you've learned over the years will help you edit programs efficiently. <br>Vim can be modified to become a full programming environment with all the necessary features.<br><br>'''Atom'''<br>This text editor is easy to use and contains powerful tools that comes with everything your need immediately. Atom allows for deep customization from everything from complete functionality changes to just changing the theme.<br><br>'''Sublime'''<br>Insert discussion here}}</blockquote></blockquote> <ol><li value=6" style="margin-left:25px;">Installing vim(Vi IMproved) will give us syntax highlighting and allow for advanced customization for terminal editing.<br>Issue the following command to either install vim or confirm that it has already been installed:<source>yum install vim-common vim-enhanced # Install vim </source></li><li style="margin-left:25px;"> '''Python pip''' is a package manager specifically for Python. While it is usually not recommended to install software outside of '''dnf''' or '''yum''', sometimes the only way to get a specific or latest version will be through pip:<sourcelang="bash">
yum install python-pip # Install python2.7 pip
yum install python34-pip # Install python3.4 pip
</source></li>
<li style="margin-left:25px;">Upgrade python34-pip with the following command:<source lang="bash">pip3.4 install --upgrade pip</source></li><li style="margin-left:25px;">Issue the following command to install '''git''':<sourcelang="bash">
yum install git # Install git command line tool
</source></li></ol>
<blockquote style="margin-left:35px;">{{Admon/tip|What is a Git?|In the dictionary, '''git''' is defined as ''"an unpleasant or contemptible person"''. In the IT industry on the other hand, '''Git''' refers to a '''version control system''' that allows you to track any changes made to files and programs (a more modern version of RCS - Revision Control System). The benefit to using Our primary use for git is primarily found when it's used with multiple people, sharing and working on code together. While that is not how we will be using it in this course, you may find some benefits in using it will be for managing multiple versions of the same program or for backing up your code backup onto to the internet. Check out '''bitbucket''' for a free private code repository.}}</blockquote>
<ol><li value="98" style="margin-left:25px;">IPython will be one of the tools we will use the most. Lets install it. You will learn more about it in the next section:<sourcelang="bash">
yum install python-ipython # Install ipython for python2.7
pip3.4 install ipython # Install ipython for python3.4
</source></li>
<li style="margin-left:25px;">Issue Exit from the superuser shell to your regular user shell and issue the following commands in your Ipython shell to check your work for this section:<sourcelang="bash">mkdir -p ~/ops435/lab1/
cd ~/ops435/lab1/
pwd #confirm that you are in the right directory
ls CheckLab1.py || wget matrix.senecachttps://raw.ongithubusercontent.cacom/~acoatleySeneca-willisCDOT/ops435/master/LabCheckScripts/CheckLab1.pypython3 ./CheckLab1.py-f -v lab0apython python3 ./CheckLab1.py -f -v lab0b
</source></li>
<li style="margin-left:25px;">Before moving on to the next step, make sure you identify and correct any and all errors in "lab1a.pylab0b"output. When the check script tells you everything is "ok", you may proceed to the next step.</li></ol><br><br>
<pre>
cd ~/ops435/lab1/
pwd #confirm that you are in the right directory
ls CheckLab1.py || wget matrix.senecac.on.ca/~acoatley-willis/CheckLab1.py
python ./CheckLab1.py -f -v lab0c
</pre>
</li>
<li style="margin-left:25px;">Before moving on to the next step make sure you identify any and all errors in "lab1a.py". When the check script tells you everything is "ok", you may procede to the next step.<br><br></li>
<li style="margin-left:25px;">Make notes for all of your Investigation 1 (part1) observations in your lab log book, and proceed to investigation 2.</li></ol>
<br><br>
= INVESTIGATION 2: USING THE "IPYTHON" CLI =
:'''IPython''' is an interactive environment that allows us to run python code line by line as we write it. This will also act like a bash shell prompt allowing usres users to enter many a limited number of Bash shell commands. However, the commands that we will be running are lines of python code. You will notice this by seeing an [IN] prompt where to enter commands and an [OUT] prompt that will display output from issued commands. We will start creating scripts out of the code within this '''IPython''' environment.<blockquote style="margin-left:35px;">{{Admon/important|style="padding-left:25px"|ipython and python|[https://plot.ly/python/ipython-vs-python/ What is the difference between '''python''' and '''ipython'''?] Please note that in later labs, you can use either '''python''' or '''ipythone''' as the interactive python shell.}}</blockquote> 
=== PART 1 - Common Ipython Commands and Features ===
:'''Perform the following steps:'''
:#Make sure you're using your regular user login and not using the root user for the following section.
:#To access the '''ipython''' shell, issue the following command:<source>
ipython3
:#Lets find out which ones are available, type the following command into the IPython shell:<source>
alias
</source>We should now have a list of all the bash commands available in IPython. Shortly, we will go over how to add new bash commands into this environment, but you must remember that theses commands are only here to assist in your python scripting - we are NOT here to learn bash commands.<br><br>:#Next lets add a new bash command that seems to be missing from this list:<source> alias vim vim</source>:#Run the vim command to see that it works, then exit your vim editing session without saving.:#The vim command will give us our much needed syntax highlighting, while we are editing scripts from within the IPython environment. Unfortunately, these magic '''alias''' functions do not save in between sessions when defined temporarily, this creates a problem since you would have to create them '''every time''' you start IPython. It will instead display an error message indicating that the alias command does not exist:<source> exit ipython3 vim</source> You should notice an error message indicating invalid syntax. This occurs since you need to create a config file to make this alias persist in-between sessions. You need to exit your ipython session in order to edit this configuration file.<br><br>:#Exit your current IPython session:<source> exit</source>:#Now, create a new ipython alias configuration file and add the following content to it:<source> vim ~/.ipython/profile_default/startup/00-alias.ipy </source>:#Place your newly defined alias inside this file:<source> alias vim vim</source>:#Save and exit the file. Now let's return to our IPython shell and confirm that our alias is available right away:<source> ipython3 vim</source><br>At this point vim should open successfully and you should now understand how to create new IPython aliases and store them persistently. Use these aliases to customize your environment with any bash commands you thing IPython is missing.<br><br>:# Exit vim and return to the IPython shell. <br><br>:#Lets setup a directory structures for completing and organizing labs. These should be the locations to store your lab scripts. Try using '''TAB''' to help speed up the issuing of the following commands:<source>
mkdir ~/ops435/lab2
mkdir ~/ops435/lab3
</source>
:::This resource will appear OVERWHELMING (a huge amount of information)! As we move throughout this course, you will slowly use different magic functions from here, but we will never use all of them. They cover a huge range of different tasks, while we are writing code, allowing us to interactively inspect the Python we are writing and running. Lets move on for now.
<ol><li value="136" style="margin-left:25px;">Issue the following command to exit your ipython session:<source>
exit
</source>
</li>
:In the future see if '''ctrl-d''' works instead of issuing the exit command to quit the ipython shell.
</li>
In the future to see if '''ctrl<li style="margin-d''' works instead of issuing the exit command to quit the ipython shell. left:25px;">Perform the following steps to evaluate this unit. '''NOTE: Running this evaluation script will give you an error, read this error message to see if you can figure out why. This is happening because we are checking a lab script file that we HAVE NOT created yet, so these errors are ok for now.''' But run Run these check scripts regularly as you work through the labs, they may give you hints if you get stuck. </li>:<sourcelang="bash">
cd ~/ops435/lab1/
pwd #confirm that you are in the right directory
ls CheckLab1.py || wget matrix.senecachttps://raw.ongithubusercontent.cacom/~acoatleySeneca-willisCDOT/ops435/master/LabCheckScripts/CheckLab1.pypython python3 ./CheckLab1.py -f -v lab1alab0c
</source>
</li><li style="margin-left:25px;">Make notes for observations in your lab log book, and proceed to investigation 3.</li></ol>
<br><br>
= INVESTIGATION 3: WRITING PYTHON SCRIPTS =
:In this investigation we will start writing our very first python scripts. These will be very basic and help us practice syntax and foundation skills, such as: outputting text to the screen, storing data inside variablesobjects, and using math operators. <blockquote style="margin-left:35px;">{{Admon/important|style="padding-left:25px"|Object and Variable|The terms '''object''' and '''variable''' are used to refer to a data item in computer programming. The term '''variable''' are mostly used in 3rd generation programming/scripting languages (e.g. bash) while the term '''object''' is preferred in object oriented programming/scripting languages like Python. In the context of Python programming/scripting, When you see the term '''variable''' in the lab instructions, it can be replaced by the term '''object'''.}}</blockquote> 
=== PART 1 - Common Introductory Python Functions ===
====Printing TextCreating the introductory "Hello World" Script====
:Let's start IPython interpreter You will learn to create a simple python script in this section. This python script will just print the text "hello world". The "hello world" an old traditional first program students usually are taught to create, which is based on the first programming example from the first C programming text co-written by Dennis Ritchie, the creator of the C programming language and start writing some Brian Kernighan. You will learn how to run the python script in the python3 shell as well as learn how to run the python codescript from the bash shell.
:'''Perform the following steps:'''
 :#Issue the following commands:<source> ipython3 cd Create a new python file in your ~/ops435/lab1 pwd ls</source>Our directory. Call it lab1a.py. The first python Python code we will write is going to call the print function. A function is code that has been defined in another location. Functions can take arguments, use these arguments in some way, and then usually return a result. The first function we will use is the "print()" functions, it's sole purpose is to output information to the screen.<br><br>:#At the prompt, issue Add the following python functionline into your source code file:<source>
print()
</source>And run it from the command-line: <source>python3 ./lab1a.py</source>You will notice that nothing happened when is printed even though we ran this called the "print()" function. This is because we didn't pass any arguments to it, lets try again.<br><br>:# Issue the following functionModify your call to print() to inlcude an argument ('hello world'):<br><source>
print('hello world')
</source>This time we should now see that the python function "print()" has outputted to the screen the words 'hello world'. In python a word or a bunch of characters like 'hello world' is called a 'string'. So what we did In the above isexample, passed a '''string''' was passed as a '''argument''' to the print '''function'''. These words are important for understanding and talking about different aspects of code.<br><br> ====Creating :# Note that there are similarities between the Python print() function and the introductory "Hello World" Script==== You will learn to create Bash echo command, but Python is more picky than bash (which is a simple python script in this sectiongood thing). This python script will just Try to run print without the brackets or without the text quotes to see what happens.<blockquote style="hello worldmargin-left:35px;">{{Admon/tip|Reading errors|One of the things that makes a good programmer is debugging skills. The "hello world" an old traditional first program students usually are taught to create, which and most important debugging technique is based on the first programming example from the first C programming text co-written by Dennis Ritchie, the creator of the C programming language reading and Brian Kernighanunderstanding error messages. You will learn how Try to run understand what the python script in errors are saying even if you think you already know what the ipython3 shell as well as learn problem is and already have some idea about how to run the python script from the bash shellfix it:'''Perform the following steps:''' :# Using a text editor, open a new text file called '''lab1a.py''':}}<source/blockquote>vim ~/ops435/lab1/lab1a.py</sourceol> <li value="5" style="margin-left:#25px;">Write the following code into our python file. Note the she-bang line at the top of the file to run this script in the python3 environment. You will need to add this she-bang line for any remaining all python scripts you create for this course.<sourcelang="python">
#!/usr/bin/env python3
print('Hello world')
</source>
<li style="margin-left:#Save the file and quit vim. We will now go over the process 25px;">Another way of manually running this python scripta pythion program is executing it directly, e. Both in the Bash shell and in the IPython shellg.:#Now lets try running the script directly from the IPython shell by issuing the follwoing commands:<source>run ~/ops435/lab1./lab1atest.py</source>Your python script should have run, if you have any errors you should check Note that you typed the script in exactly. Be careful of extra spaces, symbols, letters, or lowercase/uppercase differences.<br><br>:# Issue the following command to exit your ipython session:<source>exit</source>:#Now, from the Bash shell we file will give need execute permissions even though you ran it the correct Linux permissions in order to run your newly-created python scriptjust fine earlier. This Why is just showing the multiple ways you can use this python script. You are not required to have IPython running on a system, however hopefully we can use IPython's powerful features to our advantage.that? <li style="margin-left:# Run your python script by issuing the following commands:<source25px;">chmod 755 ~/ops435/lab1/lab1a.pypython3 ~/ops435/lab1/lab1a.py</source>:#Download the check script and check your work. Enter the following commands from the bash shell.<sourcelang="bash">
cd ~/ops435/lab1/
pwd #confirm that you are in the right directory
ls lab1a.py #confirm that you have the lab1a.py script in your directory
ls CheckLab1.py || wget matrix.senecachttps://raw.ongithubusercontent.cacom/~acoatleySeneca-willisCDOT/ops435/master/LabCheckScripts/CheckLab1.py python python3 ./CheckLab1.py -f -v lab1a
</source>
<li style="margin-left:#25px;">Before moving on to the next step make sure you identify any and all errors in "lab1a.py". When the check script tells you everything is "ok", you may proceed to the next step.:#Make notes for observations in your lab log book, and proceed to part 2.</ol>
=== PART 2 - Working with Variables Python Objects ===
:A variable In Python, an object is used to store data for use later in the program. This data can be a string, integer, decimal number, characters, etc. We will only be covering '''string''' and '''integer''' variables in this lab. You will learn and use other variable python object types in future labs.
==== String Variables Objects ====
:String variables objects contain text to be used in your program. Examples of strings could be user-names, full-names, item descriptions, etc. We will now demonstrate to assign a string to a variable an object and how to display contents stored in a string variablesobject.
:'''Perform the following steps:'''
:#First, launch the ipython3 shellCreate a python script (called lab1b.py) and first - start with a few simple things to try:<source>ipython3</source>:#Let's make a new variable object containing a value by issuing the following command:<sourcelang="python">
name = 'Thomas'
</source>
:#Iss Print the following command value to inspect the value of the variable"screen:<sourcelang="python">print(name)
</source>
:#Print the value to the screenThink about why this does something different:<sourcelang="python">print('name')
</source>
:#Now lets try something new, we are going to print out the string and concatenate/combine it with another string. The plus sign can be used to join 2 strings together. However, make sure that your variable object is always outside the quotes, or it will not resolve to a value.<sourcelang="python">
print('I have a friend named ' + name)
</source>
:#To gain practice, create a complete your python script (called lab1b.py) with the following content and details:
::::* The script should have a '''Shebang line''' like you did for your lab1a.py python script
::::* The script should use a single variable object called "name"::::* The value of the "name" variable object should be "Isaac"
::::* The script, when executed, should print out "How old are you Isaac?"
::::*Sample run: <source>
cd ~/ops435/lab1/
run ./lab1b.py
How old are you Isaac?
</source>Try the checking script as you are working through a script to sometimes get hints.<br><br>
<ol><li value="7" style="margin-left:25px;">Download and run the checking script. Enter the following commands from the '''bash shell''':<sourcelang="bash">
cd ~/ops435/lab1/
pwd #confirm that you are in the right directory
ls CheckLab1.py || wget matrix.senecachttps://raw.ongithubusercontent.cacom/~acoatleySeneca-willisCDOT/ops435/master/LabCheckScripts/CheckLab1.pypython python3 ./CheckLab1.py -f -v lab1b
</source></li>
<li style="margin-left:25px;"> Before proceeding, make certain that you identify any and all errors in "lab1alab1b.py". When the check script tells you everything is "ok", you may procede proceed to the next step.</li></ol>
==== Integer VariablesObjects====
:Integer variables In Python, integer objects are used to store a an integer numbers that can be used for mathematical operations (discussed in the next section). Integers do NOT contain decimals, and they can have be signed (+ or -) or unsigned. This section Here we will show you how to store integers in a variableobject, perform some simple math operations, and display the integer value or results from mathematical operations.
:'''Perform the following steps:'''
:#Enter the following command Create a python script (called lab1c.py) and first - start with a few simple things to access the python prompttry:<source>ipython3</source>:#Lets create some new variables objects to play with.<sourcelang="python">
num1 = 5
num2 = 10
</source><br>In IPython we can inspect these variables by just typing the name of the variable. But in a python script this will not provide any output. This feature is useful however for debugging.<br><br>
:#Issue the following commands:<source>
num1
num2
</source>
:#You can print the values in those integer objects:<source lang="python">print(num1)print(num2)</source>:#Now we will make a new variable integer object and try some math:<sourcelang="python">
sum = num1 + num2
</source><br>This will add the values contained in the variables integer objects together, providing a sum. However you will note that there is no output. First lets Let's inspect the new value.<br><br>:#Enter the following command:<source>sum</source><br>Does this value look right? If we wanted to print this out to the screen we could use the following lang="python code.<br><br>:#Enter the following function:<source">
print(sum)
</source>Does this value look right? Are you sure?<br>:#Now lets try printing this sum out with a string:<sourcelang="python">
print('The sum is: ' + sum)
</source><br>What happened? Did you receive an error? This will may have been the first time you've seen this error, but it won't be the last. What we tried to do is combine a string with a number, and this won't work.<br><br>In order to use display this number as a string we will use the "str()" function on it. The "str()" function will return a string of your number and provide it as a argument to "print()". This function will not change the value of your variableobject, your variable object is still a an intergerobject.<br><br>:# Issue the following:<sourcelang="python">
print('The sum is: ' + str(sum))
</source><br>What did you notice this time?<br/>:#To gain practice, create a complete your python script (called lab1c.py) with the following content and detailsfeatures:
:::* The script should have a Shebang line.
:::* The script should have a variable an object called '''name''':::* The script should have a variable an object called '''age''':::* The value of the '''name''' variable object should be '''Isaac''':::* The variable object '''age''' should contain a integer:::* The value of the '''age''' variable object should be '''72'''
:::* The script, when executed, should print out "Isaac is 72 years old!"
:::Example run: <source>
%cd ~/ops435/lab1/%run ./lab1c.py
Isaac is 72 years old!
</source><br>Try the check script as you are working through a script to sometimes get hints.<br>
<ol><li value=10" style="margin-left:25px;">Download and run the checking script. Enter the following commands from the bash shell:<sourcelang="bash">
cd ~/ops435/lab1/
pwd #confirm that you are in the right directory
ls CheckLab1.py || wget matrix.senecachttps://raw.ongithubusercontent.cacom/~acoatleySeneca-willisCDOT/ops435/master/LabCheckScripts/CheckLab1.pypython python3 ./CheckLab1.py -f -v lab1c
</source></li>
<li style="margin-left:25px;">Before moving on to the next step make sure you identify any and all errors in "lab1alab1c.py". When the check script tells you everything is "ok", you may procede proceed to the next step.</li><li style="margin-left:25px;">Make notes for observations in your lab log book, and proceed to part 3.</li></ol>
=== PART 5 - MATH OPERATORS ===
:'''Perform the following steps:'''
:# Issue Try some of the following commands to see how they operate what happens in the ipython shellPython:<sourcelang="python">print(10 + 5 ) # additionprint(10 - 5 ) # subtractionprint(10 * 5 ) # multiplicationprint(10 / 5 ) # divisionprint(10 ** 5 ) # exponents
</source>NOTE: You must be careful when combining more complex math operators together. Python uses '''PEMDAS''' ('''P'''arentheses, '''E'''xponents, '''M'''ultiplication and '''D'''ivision, '''A'''ddition and '''S'''ubtraction) to resolve math.<br><br>
:# Go over the below examples and see if you understand each situation:<sourcelang="python">print(10 + 5 * 2 ) # multiplication happens before additionprint((10 + 5) * 2 ) # parentheses happen before multiplicationprint(10 + 5 * 2 - 10 ** 2 ) # first exponents, then multiplication, then addition and subtraction from left-to-rightprint(15 / 3 * 4 ) # division and multiplication happen from left-to-rightprint(100 / ((5 + 5) * 2)) # the inner most parentheses are first performing addition, then parentheses again with multiplication, finally the division
</source>
:#To gain practice, create a python complete your script (called lab1d.py) with the following content and details:
::* The script should have a Shebang line.
::* The variable object '''x''' should contain a integer with the value '''10'''::* The variable object '''y''' should contain a integer with the value '''2'''::* The variable object '''z''' should contain a integer with the value '''5'''::* The script, when executed, should print out "10 + 2 * 5 = 20"(the printout should change if the values in the objects change)
:::Example run: <source>
%cd ~/ops435/lab1/%run ./lab1d.py
10 + 2 * 5 = 20
</source>Try the checking script as you are working through a script to sometimes get hints.<br><br>
<ol><li style="margin-left:25px;" value="4">Download and run the checking script. Enter the following commands from the bash shell:<sourcelang="bash">
cd ~/ops435/lab1/
pwd #confirm that you are in the right directory
ls CheckLab1.py || wget matrixhttps://raw.senecacgithubusercontent.on.cacom/~acoatleySeneca-willisCDOT/ops435/master/LabCheckScripts/CheckLab1.pypython python3 ./CheckLab1.py -f -v lab1d</source>Before moving on to the next step make sure you identify any and all errors in "lab1alab1d.py".<br><br></li><li style="margin-left:25px;">When the check script tells you everything is "ok", you may procede proceed to the next step.<br><br></li><li style="margin-left:25px;">Make notes for observations in your lab log book, and proceed to Lab 1 Instructor Sign-off.</li>
</ol>
<br><br>
::<span style="color:green;font-size:1.5em;">&#x2713;</span> Output of: <code>./CheckLab1.py -f -v</code>
::<span style="color:green;font-size:1.5em;">&#x2713;</span> Output of: <code>cat lab1a.py lab1b.py lab1c.py lab1d.py</code>
::<span style="color:green;font-size:1.5em;">&#x2713;</span> Lab1 logbook notes completed
:'''Be able to answer any questions about the lab to show that you understood it!'''<br>:'''For sections A & B:''' ::<span style= Practice For Quizzes, Tests, Midterm color:green;font-size:1.5em;">&amp#x2713; Final Exam </span> Submit your output and Python scrips via Blackboard instead. = LAB REVIEW = :# Write the command to change the hostname of your Linux machine to '''centos7'''.:# What is the purpose of '''git'''? How will git be used in our OPS435 course?:# Write the command to create an '''alias''' for the Linux command vim which will be called vi in your ipython3 session.:# Write the absolute pathname for the ipython3 alias configuration file.:# Write Python code that when run, will perform the following tasks:<ol type="a"><li>Contain a she-bang line</li><li>Display a greetings message to the user</li><li>display an empty line ('''hint:''' use the special character '''\n''' to print the a new-line character)</li><li>Display text, '''"Your current directory is:"''' (You are NOT required to display quotation marks)</li><li>Display the current working directory pathname (using an appropriate command)</li><li>Display another empty line</li></ol>:# How do you execute a Python script when you are within the <u>ipython3</u> shell?:# How do you execute a Python script when you are in the <u>Bash</u> Shell (i.e. NOT within the Ipython3 shell)?:# Write the pipeline command to check if the CheckLab1.py checking script exists, and download it from the location:<br>https://raw.githubusercontent.com/Seneca-CDOT/ops435/master/LabCheckScripts/CheckLab1.py
# x# x# x[[Category:OPS435-Python]]

Navigation menu