Unit 2 Expressions and variables for loops Special thanks to Roy McElmurry John Kurkowski Scott Shawcroft Ryan Tucker Paul Beck for their work Except where otherwise noted this work is licensed under http creativecommons org licenses by nc sa 3 0 Expressions Arithmetic is very similar to Java Operators and for exponentiation Precedence then then then Integers vs real numbers 1 1 2 1 3 4 2 11 7 2 3 7 0 2 3 5 10 6 1000000 2 Variables Declaring no type is written same syntax as assignment Operators no or operators must manually adjust by 1 Java Python int x 2 x System out println x x 2 x x 1 print x x x 8 System out println x x x 8 print x double d 3 2 d d 2 System out println d d 3 2 d d 2 print d 3 Types Python is looser about types than Java Variables types do not need to be declared Variables can change types as a program is running Value 42 Java type int Python type int 3 14 double float ni String str 4 String Multiplication Python strings can be multiplied by an integer The result is many copies of the string concatenated together hello 3 hellohellohello print 10 yo yo yo yo yo yo yo yo yo yo yo print 2 3 4 444444 5 String Concatenation Integers and strings cannot be concatenated in Python Workarounds str value print expr expr converts a value into a string prints two items on the same line x 4 print Thou shalt not count to x TypeError cannot concatenate str and int objects print Thou shalt not count to str x Thou shalt not count to 4 print x 1 is out of the question 5 is out of the question 6 The for Loop for name in range max statements Repeats for values 0 inclusive to max exclusive for i in range 5 print i 0 1 2 3 4 7 for Loop Variations for name in range min max statements for name in range min max step statements Can specify a minimum other than 0 and a step other than 1 for i in range 2 6 print i 2 3 4 5 for i in range 15 0 5 print i 15 10 5 8 Nested Loops Nested loops are often replaced by string and 1 2 3 4 5 Java 1 2 3 4 5 6 for int line 1 line 5 line for int j 1 j 5 line j System out print System out println line Python 1 2 for line in range 1 6 print 5 line str line 9 Exercise Rewrite the Mirror lecture program in Python Its output 10 Exercise Solution def bar print 16 def top for line in range 1 5 split a long line by ending print 2 line 8 4 line 4 2 line 8 it with def bottom for line in range 4 0 1 print 2 line 8 4 line 4 2 line 8 main bar top bottom bar 11 Concatenating Ranges Ranges can be concatenated with Can be used to loop over a disjoint range of numbers range 1 5 range 10 15 1 2 3 4 10 11 12 13 14 for i in range 4 range 10 7 1 print i 0 1 2 3 10 9 8 12 Exercise Solution 2 def bar print 16 def mirror for line in range 1 5 range 4 0 1 print 2 line 8 4 line 4 2 line 8 main bar mirror bar 13 Constants Python doesn t really have constants Instead declare a global variable at the top of your code All methods will be able to use this value constant py 1 2 3 4 5 6 7 8 9 10 11 12 13 MAX VALUE 3 def printTop for i in range MAX VALUE for j in range i print j print def printBottom for i in range MAX VALUE 0 1 for j in range i 0 1 print MAX VALUE print 14 Exercise Solution 3 SIZE 4 def bar print 4 SIZE def mirror for line in range 1 SIZE 1 range SIZE 0 1 print 2 line 2 SIZE 4 line 4 2 line 2 SIZE main bar mirror bar 15
View Full Document
Unlocking...