python:dierbach:chapter_2_data_and_expressions
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
python:dierbach:chapter_2_data_and_expressions [2016/07/28 21:06] – mithat | python:dierbach:chapter_2_data_and_expressions [2016/07/29 01:36] – mithat | ||
---|---|---|---|
Line 2: | Line 2: | ||
~~NOTOC~~ | ~~NOTOC~~ | ||
+ | ====== Data and Expressions ====== | ||
+ | Mithat Konar\\ | ||
+ | based on Dierbach' | ||
===== Contents ===== | ===== Contents ===== | ||
Line 12: | Line 15: | ||
===== Literals ===== | ===== Literals ===== | ||
- | {{http://thecatapi.com/api/images/get? | + | {{http://mkonar.org/assets/img/cat-silhouette-01-trans-64px.png}} |
===== What is a literal? ===== | ===== What is a literal? ===== | ||
* **literal**: | * **literal**: | ||
- | * **numeric literal**: contains only the digits | + | * **numeric literal**: contains only the digits |
* integer versus floating point value | * integer versus floating point value | ||
* '' | * '' | ||
Line 25: | Line 28: | ||
* Floating point values have limited range and precision. | * Floating point values have limited range and precision. | ||
- | * IEEE 754: ±10< | + | * IEEE 754: ±10< |
- | * **arithmetic overflow**: results when operation causes number to be “too bigâ€. | + | * **arithmetic overflow**: results when operation causes number to be “too big”. |
<code python> | <code python> | ||
Line 32: | Line 35: | ||
inf | inf | ||
</ | </ | ||
- | * **arithmetic underflow**: | + | * **arithmetic underflow**: |
<code python> | <code python> | ||
Line 131: | Line 134: | ||
' | ' | ||
</ | </ | ||
- | * Doesn’t work to break up a string. | + | * Doesn’t work to break up a string. |
===== Explicit Line Joining ===== | ===== Explicit Line Joining ===== | ||
- | * **explicit joining** (backslash) can be used in some situations where implicit joining | + | * **explicit joining** (backslash) can be used in some situations where implicit joining |
<code python> | <code python> | ||
Line 141: | Line 144: | ||
num_minutes * 60 | num_minutes * 60 | ||
</ | </ | ||
- | * Also doesn’t work to break up strings. | + | * Also doesn’t work to break up strings. |
===== Silly encoding example ===== | ===== Silly encoding example ===== | ||
Line 157: | Line 160: | ||
===== Variables and Identifiers ===== | ===== Variables and Identifiers ===== | ||
- | {{http://thecatapi.com/api/images/get? | + | {{http://mkonar.org/assets/img/cat-silhouette-01-trans-64px.png}} |
===== What is a variable? ===== | ===== What is a variable? ===== | ||
+ | |||
+ | * **variable**: | ||
+ | |||
+ | < | ||
+ | | ||
+ | num --> | ||
+ | | ||
+ | </ | ||
+ | ===== Assignment ===== | ||
+ | |||
+ | * **assignment**: | ||
+ | * **assignment operator**: '' | ||
+ | * '' | ||
+ | |||
+ | <code python> | ||
+ | foo = 7 | ||
+ | num = 1 + foo | ||
+ | foo = foo + 1 | ||
+ | </ | ||
+ | ===== Variable reassignment ===== | ||
+ | |||
+ | <code python> | ||
+ | num = 10 # +--------+ | ||
+ | k = num # num --> | ||
+ | # k --> | ||
+ | # +--------+ | ||
+ | </ | ||
+ | <code python> | ||
+ | k = 20 # +--------+ | ||
+ | # num --> | ||
+ | # +--------+ | ||
+ | # +--------+ | ||
+ | # k --> | ||
+ | # +--------+ | ||
+ | </ | ||
+ | ===== id() ===== | ||
+ | |||
+ | * Use '' | ||
+ | |||
+ | <code python> | ||
+ | >>> | ||
+ | k = num | ||
+ | >>> | ||
+ | ??? # some number | ||
+ | >>> | ||
+ | ??? # same number as above | ||
+ | k = 20 | ||
+ | >>> | ||
+ | ??? # same as before | ||
+ | >>> | ||
+ | ??? # different | ||
+ | </ | ||
+ | ===== What is an identifier? ===== | ||
+ | |||
+ | * **identifier**: | ||
+ | * **identifier**: | ||
+ | * Rules of the name: | ||
+ | * letters, digits, and the underscore character only (no spaces) | ||
+ | * can’t start with a digit | ||
+ | * don’t use underscore for the first character for now | ||
+ | * can be as long as you want | ||
+ | |||
+ | ===== Keywords and help ===== | ||
+ | |||
+ | * **keyword** an identifier that has predefined meaning in a programming language. | ||
+ | * You can’t use a keyword as your own identifier in Python. | ||
+ | * Get a list of keywords: | ||
+ | |||
+ | < | ||
+ | >>> | ||
+ | help> keywords | ||
+ | ... | ||
+ | help> quit | ||
+ | >>> | ||
+ | </ | ||
+ | * Things you think should be keywords are not! | ||
+ | * Check “special” words using '' | ||
+ | |||
+ | ===== Example: Restaurant Tab Calculation ===== | ||
+ | |||
+ | RestaurantTab.py | ||
+ | |||
+ | <code python> | ||
+ | # Restaurant Tab Calculation Program | ||
+ | # This program will calculate a restaurant tab with a gift certificate | ||
+ | |||
+ | # initialization | ||
+ | tax = 0.08 | ||
+ | |||
+ | # program greeting | ||
+ | print(' | ||
+ | print(' | ||
+ | |||
+ | # get amount of gift certificate | ||
+ | amt_certificate = float(input(' | ||
+ | |||
+ | # cost of ordered items | ||
+ | print(' | ||
+ | |||
+ | appetizer_per1 = float(input(' | ||
+ | entree_per1 = float(input(' | ||
+ | drinks_per1 = float(input(' | ||
+ | dessert_per1 = float(input(' | ||
+ | |||
+ | print(' | ||
+ | |||
+ | appetizer_per2 = float(input(' | ||
+ | entree_per2 = float(input(' | ||
+ | drinks_per2 = float(input(' | ||
+ | dessert_per2 = float(input(' | ||
+ | |||
+ | # total items | ||
+ | amt_person1 = appetizer_per1 + entree_per1 + drinks_per1 + dessert_per1 | ||
+ | amt_person2 = appetizer_per2 + entree_per2 + drinks_per2 + dessert_per2 | ||
+ | |||
+ | # compute tab with tax | ||
+ | items_cost = amt_person1 + amt_person2 | ||
+ | tab = items_cost + items_cost * tax | ||
+ | |||
+ | # display amount owe | ||
+ | print(' | ||
+ | print(' | ||
+ | print(' | ||
+ | print(' | ||
+ | </ | ||
+ | ===== Operators ===== | ||
+ | |||
+ | {{http:// | ||
+ | |||
+ | ===== What Is an Operator? ===== | ||
+ | |||
+ | **operator**: | ||
+ | |||
+ | ===== Arithmetic operators ===== | ||
+ | |||
+ | Demonstration of simple table syntax. | ||
+ | ^ Right^Left | ||
+ | | | ||
+ | | 123|123 | ||
+ | | 1|1 | ||
python/dierbach/chapter_2_data_and_expressions.txt · Last modified: 2016/07/29 03:03 by mithat