Download presentation
Presentation is loading. Please wait.
Published byPriscilla Foster Modified over 9 years ago
1
Recitation 1 Programming for Engineers in Python
2
Plan Administration: Course site Homework submission guidelines Working environment Python: Variables Editor vs. shell Homework 0 Python – Cont. Conditional Statements (if/else) Discuss Homework 1
3
Administration Yoav Ram Email: yoavram@post.tau.ac.il Office hours: by appointment only Location: Room 409, Britannia building Noga Levy Email: noga@post.tau.ac.il Office hours: by appointment only Location: Room 405a, Shenkar building
4
Course Site - Moodle http://moodle.tau.ac.il All relevant material: Slides for the lectures + recitations, homework, solutions, code examples. Automatic homework submission, (manual) grades. Forum – anything you want to clarify from the lecture, recitations and homework. Announcements Instructions (how to set a working environment at home)
5
Homework Very important when learning to program! Therefore: Weekly “hands-on” assignments. Strict submission dates. 15-20% of the final grade. Note that: Grades: 0 / 60 / 80 / 100. No appeals. Where can I work? Computer lab 06, open: 8:00 – 20:00, use email/disk-on-key
6
Submission Guidelines Submission in singles! Should work on Python 2.7 No cheating! Guidelines in the course site. How to handle “doesn’t work” situation: Go over the code Consult course slides Google (a useful and legitimate source) Check the forum in moodle Submit a question to forum (reply within 48 hours)
7
Working Environment Install (at home): Windows 32 bit: http://www.python.org/ftp/python/2.7.2/python- 2.7.2.msi http://www.python.org/ftp/python/2.7.2/python- 2.7.2.msi Continue as in class Open: Start Menu All Programs Python 2.7 IDLE (Python GUI)
8
IDLE Editor We want to save a sequence of commands and run it later in a new Python session. The Editor: - Write Python commands - Execute them in one key-press. Open the editor from the Shell: File New Window
9
IDLE Editor – Cont. The new window is Untitled. First – choose a title: In the new window: File Save as… Chose a folder and a name. The name must end with ‘.py’
10
IDLE Editor – Cont. Run Python: The output appears in the Shell window (a new Shell might open)
11
What are Variables ? A location in the computer’s memory. A variable - has a name (for access) - holds a value - has type – according to its value - This is how data is handled
12
Numbers and their Types >>> 4 4 >>> type(4) # integers type >>> 3.14159 3.14159 >>> type(3.14159) # floating point ("reals") type Arithmetic operations: +, -, *, /, % (modulo), ** (power) What type is 8/5 ? And 8/5.0 ? Let’s check…
13
Variables and Assignments >>> n = 10 >>> m=(10+4)*5 The left hand side is a variable. The right hand side is an expression. The interpreter evaluates the expression and assigns its value to the variable. The variable's name is a sequence of letters and digits, starting with a letter. 10 70 nm
14
Variables and Assignments: An Example Changing the value of a variable: >>> n=11 >>> n 11 Changing the type of a variable: >>> n=1.3141 >>> n 1.3141 Variables can be used in expressions : >>> pi = 3.14159 >>> pi*2 + 1 7.28318
15
Variables and Assignments – Cont. Referring to undefined variables leads to runtime error >>> check_this Traceback (most recent call last): File " ", line 1, in check_this NameError: name 'check_this' is not defined
16
Documentation and Variable Names Real computer programs include thousands of code lines, lots of variables. Readability is very important for code maintenance, it is a requirement in this course! Hence: Choose informative variable names: Not informative: i, j, m, n, aString, doesSomething … Informative: sumOfExpenses, studentName, countWords … Documentation – add remarks (‘#’) before: Functions ‘Logical units’ of code complex implementation
17
Strings We already met Strings in class. Strings are text sequences. They are actually an ordered list of characters
18
Strings – Cont. >>> mssg1="Let there" >>> mssg2=" be light" >>> mssg1+mssg2 'Let there be light‘ What will the next expression print? >>> mssg1 + mssg2*2
19
Strings Access - Reminder >>> a=‘Hello’ >>> a[1:3] 'el' >>> a[1:] 'ello' >>> a[-4:-2] 'el' >>> a[:-3] 'He' >>> a[-3:] 'llo’ olleH 43210 -2-3-4-5
20
Homework 0
21
Boolean Variables Comparison : Numbers – by their order Strings – by lexicographical order Returns boolean variabels: True or False. Comparison types: = != > < >= <=
22
Python Comparison Operators >>> 5 == 5.0 True >>> 6 != 2*3 False >> not(-2 >= 1) True >>> (-2 >= 1) or (-2 <= -1) True >>> (-2 >= 1) and (-2 <= -1) False
23
Variables - Status We saw the classes ‘int’, 'float', 'str‘, ‘bool’. Some operations allow “mixing" variables of different types. Assignments: variable name = expression Subsequent assignments to the same variable can change its value and even its type. ‘int’ – integer numbers, ‘float’ – real numbers. True and False are Boolean constants
24
Conditional Statements if : do something [else: do something else]
25
Conditional Statements - Examples >>> if 54% 18 == 0: # the remainder of 54 divided by 18 print “54 is divisible by 18" else: print “54 is not divisible by 18" 54 is not divisible by 18 Indentation: Following the if statement: Open a new scope = one tab to the right. Indicates the commands within the scope of this if. else - outside that scope. Note: tab != four spaces, even if it looks identical!
26
Functions - Reminder def function_name(input1, input2, …): command1 command2 …
27
Exercise Donuts: Input: count - an int representing the number of donuts Output: a string of the form 'Number of donuts: ’. However, if the count is 10 or more, use the word 'many‘ instead of the actual count. Examples: >>> donuts(5) Number of donuts: 5 >>> donuts(23) Number of donuts: many Function prototype: def donuts(count): # +++your code here+++
28
Solution def donuts(count): if count < 10: return 'Number of donuts:‘,str(count) else: return 'Number of donuts: many‘ Return instead of print – explanation in the next slide.
29
Exercise – Unit Testing My Code Test (1) Run my code with some input (2) Check the output
30
Exercise – Unit Testing Use the given implementation: - Download hw1.py - Fill in the necessary code instead of the remarks # +++your code here+++ - Instead of printing the code to the shell, return it to the testing function. - “Run Module” Example’s output: OK got: 'Number of donuts: 4' expected: 'Number of donuts: 4' OK got: 'Number of donuts: 9' expected: 'Number of donuts: 9' OK got: 'Number of donuts: many' expected: 'Number of donuts: many'
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.