At My Fingertips
Rapid Playground
In this activity you learn how to create rectangles, and you learn how to use some key features of this web page.
Assume you have a friend who does not see the figure below:
Which of the following descriptions is most comprehensive?
In Python, like in any programming language, we need to be unambiguous when describing what we want. The fourth description above is the most complete. It provides the information we need.
But how exactly do we tell Python that we need "a red rectangle with a width of 600 and a height of 100"? Python has a pretty peculiar grammar. Here is the above request in Python code:
rectangle(600, 100, red)
We ask for a rectangle by calling the function named rectangle. You can hover with your mouse over the colored function name to learn more about that function. If you do, you find out that the function requires three arguments: the rectangle's width, height, and color. The arguments have to be provided in parentheses. They have to be separated by commas. And they have to be provided in that specific order; this way it is clear that the first number specifies the width and the second one the height.
The name red denotes the color. Hover over the colored name to see its documentation. Yes, it's quite brief.
Python knows very little.
It has a super small vocabulary.
And the names rectangle
and red
are not part of its initial vocabulary!
So if you just tell Python to produce a rectangle(600, 100, red)
,
even though this is grammatically correct,
Python won't know how to do that.
It will complain that it does not know the names rectangle
and red
.
If you want Python to know what those names mean, you have to teach it!
Don't worry, you don't need to teach it yourself.
We've already done that for you.
We put the definitions of those names, and many more, in a library.
Anyone with access to that library can use them.
This specific library, with lots of names that have to do with graphics, is called pytamaro
.
Here is a code cell, with one line of code.
It tells Python that it should go look up the names rectangle
and red
in the pytamaro
library:
Click on the "RUN" button above to execute the above code cell.
If all goes well, Python will have consulted the library and learned what the names rectangle
and red
mean.
The button will turn grey and say "DONE", and next to the button you will see a green checkmark.
You can edit the above code.
For example, you can ask Python to also import the name show_graphic
from the pytamaro
library by writing:
from pytamaro import rectangle, red, show_graphic
As soon as you change the above code cell, its button will turn blue again, so you can run the changed code.
Every time you run code, the button will turn grey, and every time you edit code, the button will turn blue again.
Let's do one more edit, and this time we make a mistake. Again in the above code cell, enter:
from pytamaro import rectangle, red, show_graphic, sing
Once you run this code, you get an error message, right below the code cell. It says:
ImportError: cannot import name 'sing' from 'pytamaro'
What went wrong?
The pytamaro
library does not contain any definition for the name sing
.
PyTamaro does not know how to sing!
Remove the name sing
, and the trailing comma, from the import statement,
and run the code cell once more.
The button should be grey, and no error should be shown.
Now run the following code cell. It should produce a 600-by-100 red rectangle.
The above code cell will call the rectangle
function to create a rectangle.
However, nowhere in the code does it say that this rectangle should be shown to you!
If you run a program, that program may produce a value (like a rectangle, or a number), but if you don't ask for it, the value will not be output.
If you want to see the rectangle, or any other graphic, you have to tell Python to show it.
To actually see the rectangle we have to do two things:
rectangle
function to produce the rectangleshow_graphic
function to display the rectangle on the screenWhat does show_graphic
do?
Do you see the colored names at the very top of the code cell below?
Right after the word "Docs"?
The top of each code cell lists the names that code cell imports from the pytamaro library,
so you can hover over them to see their documentation.
Hover over show_graphic
. See, it... shows a graphic.
So, you can pass your rectangle to the show_graphic
function, and the function will output it.
show_graphic(...) # shows whatever you give as an argument (instead of the ...)
Run the code below, and it should create a rectangle, and then it should show that rectangle right below the code cell.
In the following code cell, create a blue rectangle with width 100 and height 150, and show it.
First import the definition of the name blue
,
and then replace the ...
with the appropriate rectangle
call.
Now create a green square with side length 200 (call rectangle
with width and height both specified as 200, don't forget to import green
).
You now know how to create rectangles of different colors and sizes.
In terms of programming, you had your first encounter with quite a few fundamental concepts:
600
or 150
)rectangle
and show_graphics
)red
, green
, or blue
)600
to the parameter width
)rectangle(600, 100, red)
)pytamaro
, which defines lots of names for composing graphics)from pytamaro import red
)show_graphic
function will output the graphic you pass it as an argument)You will get to play with these and many more concepts in most PyTamaro activities.
This activity has been created by LuCE Research Lab and is licensed under CC BY-SA 4.0.
Rectangles
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy ⢠Platform Version c08406b (Wed, 20 Nov 2024 12:30:00 GMT)