184_notes:python_syntax

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
184_notes:python_syntax [2018/05/24 16:05] dmcpadden184_notes:python_syntax [2020/08/24 19:31] (current) dmcpadden
Line 1: Line 1:
 +/*[[184_notes:using_python|Previous Page: Making Models with VPython]]*/
 +
 ===== Common Commands and Tips for Python ===== ===== Common Commands and Tips for Python =====
 In this class, we are often going to use VPython to create computational models, which will serve as a powerful tool to help us create visualizations and apply the ideas in this course to more real-world contexts. Below are some of the common Python commands that we will use in this course and some coding tips compiled by previous EMP-Cubed students. (Note: we do not expect you to have any coding experience prior to this course, and we will not expect you to write a program from scratch. We will primarily be asking you to interpret chunks of code with your group members and adjust/modify pieces of code that you will be given.) In this class, we are often going to use VPython to create computational models, which will serve as a powerful tool to help us create visualizations and apply the ideas in this course to more real-world contexts. Below are some of the common Python commands that we will use in this course and some coding tips compiled by previous EMP-Cubed students. (Note: we do not expect you to have any coding experience prior to this course, and we will not expect you to write a program from scratch. We will primarily be asking you to interpret chunks of code with your group members and adjust/modify pieces of code that you will be given.)
- 
-==== Common Commands ==== 
-  * **Exponents** - to write an exponent in Python you have to use a "$**$" rather than "^". For example, to write $A=5.43*10^4$ in code you would write: 
-<code> 
-A=5.42*10**4 
-</code>  
-  * Objects (box, sphere, arrow) 
-    * Object characteristics (pos, length, width, radius, color, etc) 
-  * Vectors - vec() 
-  * Magnitude - mag() 
-  * Print - print() 
-  * Dot Product - dot() 
-  * Cross Product - cross()  
  
 ==== Tips for Coding ==== ==== Tips for Coding ====
-  * **Check your parentheses** - the computer will very strictly follow the order of operations (PEMDAS - Parentheses Exponents Multiplication Division Addition Subtraction). When writing out equations, make sure you have parentheses in the correct places. For example in the code below, the computer would say A = 6 but B = 4 - so these are not the same thing! Parentheses errors can be especially tricky because the program will likely run perfectly fine. Also, make sure that each of your parentheses match up – in other words every bracket has to have a buddy. +  * **Check your parentheses** - the computer will very strictly follow the order of operations (PEMDAS - Parentheses Exponents Multiplication Division Addition Subtraction). When writing out equations, make sure you have parentheses in the correct places. For example in the code below, the computer would say A = 6 but B = 4 -- so these are not the same thing! Parentheses errors can be especially tricky because the program will likely run perfectly fine. Also, make sure that each of your parentheses match up – in other words every bracket has to have a buddy. 
 <code> <code>
 A=4+4/2 A=4+4/2
Line 29: Line 18:
 ## Set the radius (this line would be ignored by the program) ## Set the radius (this line would be ignored by the program)
 R=20 #cm (Everything in this line before the # would run in the program, everything after the # is ignored) R=20 #cm (Everything in this line before the # would run in the program, everything after the # is ignored)
 +</code>
 +
 +==== Common Commands ====
 +  * **Exponents** - to write an exponent in Python you have to use a "$**$" rather than "^". For example, to write $A=5.43*10^4$ in code you would write:
 +<code>
 +A=5.42*10**4
 +</code> 
 +  * **Creating Objects** - in the code we often want to create an object as a visual for the model. For example, we might want to create a sphere to represent a cloud or an arrow to represent the electric field. Python has the objects built in, but you have to tell it the characteristics of the object you want to create. For example, in the following code, the command sphere tells Python to make a sphere, pos=vec(0,3500,0) says where the center of the sphere should be positioned, color=color.white says to make the sphere white, and radius=100 sets the radius of the sphere.
 +<code>
 +cloud = sphere(pos=vec(0,3500,0), color=color.white, radius=100)
 +</code>
 +    * **Object characteristics** - depending on what object you are creating there may be different characteristics that you want to define (pos, length, width, radius, color, etc). You can also change the characteristics of an object later in the code. This can be particularly useful for the updating the position of an object, which can let you simulating a moving object. In the example below, the first line of code creates a green, 2X2 box that is centered at the origin (0,0,0). In the second line of code, the box position is changed to (3,4,5) without changing the other characteristics of the box.
 +<code>
 +object1=box(pos=vec(0,0,0), length=2, width=2,color=color.green)
 +object1.pos=vec(3,4,5)
 +</code>
 +  * **Vectors** - In Python, you can define a variable as a vector using the "vec()" command. In this command, you simply have to define the three components of the vector (x, y, and z): vec($v_x$,$v_y$,$v_z$). Python will then automatically use vector subtraction/addition if you try to add two vectors. However, it will create an error if you try to add/subtract a scalar and a vector.
 +<code>
 +position1=vec(3,4,5)
 +position2=vec(2,1,0)
 +separation=position2-position1  #This will give separation=vec(-1,-3,-5)
 +testing=separation-4 #This will give an error
 +</code>
 +  * **Vector magnitude** - the "mag()" command will calculate the [[184_notes:math_review#Vector_Notation|magnitude of any vector]]. 
 +<code>
 +vector1=vec(1,2,3)
 +mag1=mag(vector1) #This will calculate sqrt(1^2+2^2+3^2)
 +</code>
 +  * **Printing values** - The command "print()" will give whatever value you place inside the print parenthesis. If you place a variable inside the parentheses, then it will print the value associated with that variable. Printing can be especially useful if you want to check a calculation that the code is running - you can then compare what the computer calculation is to what you do by hand. This helps you check your code for errors.
 +<code>
 +A=7*9/3
 +print(A) #This will then print out the number 21
 +</code>
 +  * **Dot Product** - the dot product is a way to [[184_notes:math_review#Vector Multiplication|multiply two vectors]]. Python has this command already programmed in:
 +<code>
 +A=vec(1,2,3)
 +B=vec(4,5,6)
 +AB=dot(A,B)  #This will calculate (1*4)+(2*5)+(3*6)
 +print(AB)  #This will print out 32
 +</code>
 +  * **Cross Product** - the cross product is another way to [[184_notes:math_review#Vector Multiplication|multiply two vectors]]. Python has this command already programmed in:
 +<code>
 +C=vec(5,6,7)
 +D=vec(3,2,1)
 +CD=cross(C,D)  #This will calculate (6*1-2*7)i-hat - (5*1-7*2)j-hat + (5*2-6*3)k-hat
 +print(CD)  #This will print out the vector (-8, 9, -8)
 </code> </code>
  • 184_notes/python_syntax.1527177921.txt.gz
  • Last modified: 2018/05/24 16:05
  • by dmcpadden