This shows you the differences between two versions of the page.
ii:labs:s2:01:tasks:01 [2022/03/31 18:26] florin.stancu created |
ii:labs:s2:01:tasks:01 [2024/03/15 13:30] (current) florin.stancu [01. [20p] String manipulation] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 00. Getting Started ==== | + | ==== 01. [25p] String manipulation ==== |
- | First, download the {{ii:labs:s2:lab01-skel.zip|skeleton archive (.zip)}} and unzip it. | + | First, let's familiarize ourselves with Python's string type: |
- | It has the following structure: | + | * Read a string input from the user's console (hint: ''[[https://docs.python.org/3/library/functions.html#input|input()]]''); next sub-tasks will use this value and apply various string transformations on it; |
- | <code> | + | * Print the reversed string (e.g., "hello world" => "dlrow olleh"); hint: there are at least 3 built-in ways to do this in a single line of code ;) |
- | ├── initial_design.html # initial HTML template | + | * Print the same string in "aLtErNaTe CaSe" (if you're out of ideas, simply use the [[https://docs.python.org/3/tutorial/controlflow.html#for-statements|for loop]]); |
- | ├── public/ | + | * Finally: encrypt the given message using [[https://en.wikipedia.org/wiki/Caesar_cipher|Caesar's Cipher]] (aka, shift each of its alphabet letters to ''n'' positions to the: right for encryption, left for decryption); use the number ''17''' for testing! |
- | │ ├── bootstrap/ # bootstrap sources | + | |
- | │ ├── images/ | + | |
- | │ └── style.css # main stylesheet | + | |
- | ├── server.py # server-side application | + | |
- | └── templates/ # Jinja templates | + | |
- | </code> | + | |
- | To test, open ''initial_design.html'' in a browser. It should look similar to the following screenshot: | + | <note> |
+ | **Hints for the last subtask:** | ||
+ | * Remember the [[https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html|ASCII Table]]? | ||
+ | * You can use the ''[[https://docs.python.org/3/library/functions.html#ord|ord()]]'' built-in function to get the ASCII code of a character (as ''int''); | ||
+ | * For the reverse process (''int'' to ''str'' character) you have ''[[https://docs.python.org/3/library/functions.html#chr|chr()]]''; | ||
+ | * Don't forget to wrap around when you reach the last letter of the alphabet: ''Z + 1 => A''! | ||
+ | |||
+ | </note> | ||
- | [[{{:ii:labs:s2:lab01-web-screenshot1.png}}|{{ :ii:labs:s2:lab01-web-screenshot1.png?800 |}}]] | ||