Course on Internet of Things
Exercises Session 1:
Introductory remarks:
The scripts we are going to develop during these exercises do not depend on any system issues: We do not use command line arguments not available in MicroPython nor do we use any hardware specific features which are not available on a PC. The exercises can therefore be developed and run on the ESP32 but also on any standard PC with Python3 installed.
Exercise 1:
Connect to your ESP32 with minicom or thonny.
Using REPL:
-
print “Hello World!”
-
read in a text using input() and print it
-
Calculate

-
Calculate sin(30°)
If you see errors, how do you correct them? Are the results correct?
Exercise 2:
Write a script that assigns the values 5 and 3 to the variables a and b respectively
Print the results of 4 basic arithmetic operations:
Which result do you observe for division? Can you correct?
Improve this program asking the user to enter 2 real numbers (floats) separated by a space. This is how it should look like:
If this happens:
when the user mistypes and enters something that is not an integer, can you capture the error and simply ask the user to repeat his input, until you get 2 correct integer numbers?
Bonus points: Writing a parser for user input is rather easy if the numbers and operator are separated by spaces (have a look at the split method of strings). It is quite a bit more tricky if you allow entering calculations without spaces between the operands and the operator. Can you write a parser accomplishing this?
Try your parser on this input:
Input |
ok or not ok |
5.3+4.7 |
ok |
5.3++4.7 |
not ok |
5..3 + 4.7 |
not ok |
.3+.7 |
ok |
5.3+4b7 |
not ok |
empty string |
not ok |
5.3+. |
not ok |
5.3 + 4 |
ok |
Exercise 3:
Like in exercise2, start with 2 numbers a,b with values 5 and 3. In your program check which of the 2 numbers is bigger and print the result.
Then improve the program asking the user for 2 integer numbers. Make sure he enters 2 correct numbers and capture possible errors. This is a typical output:
--
Uli Raich - 2020-05-03
Comments