By: Guillaume Weight: 1 Ongoing second chance project - started Nov 28, 2022 6:00 AM, must end by Dec 1, 2022 6:00 AM An auto review will be launched at the deadline In a nutshell… Auto QA review: 0.0/89 mandatory & 0.0/27 optional Altogether: 0.0% Mandatory: 0.0% Optional: 0.0% Calculation: 0.0% + (0.0% * 0.0%) == 0.0%
For this project, we expect you to look at this concept:
Python programming
Author’s disclaimer Welcome to the Python world!
The first projects are more "C-oriented" - no tricks, no funky syntax - simple! If you've already played with Python, don't worry, fun things will come. You'll soon find that with Python (and the majority of higher level languages), there are ten different ways to do the same thing. Some tasks will expect only one implementation, while other tasks will have multiple possible implementations. Like C, Python also has a linter / style guide like Betty, called PEP8, also now known as PyCode.
Enjoy!
- Guillaume
Read or watch:
The Python tutorial (only the first three chapters below) Whetting Your Appetite Using the Python Interpreter An Informal Introduction to Python (Read up until “3.1.2. Strings” included) How To Use String Formatters in Python 3 Learn to Program Pycodestyle – Style Guide for Python Code Learning Objectives At the end of this project, you are expected to be able to explain to anyone, without the help of Google:
Why Python programming is awesome Who created Python Who is Guido van Rossum Where does the name ‘Python’ come from What is the Zen of Python How to use the Python interpreter How to print text and variables using print How to use strings What are indexing and slicing in Python What is the official Python coding style and how to check your code with pycodestyle
You are tasked to come up with solutions for the tasks below yourself to meet with the above learning objectives. You will not be able to meet the objectives of this or any following project by copying and pasting someone else’s work. You are not allowed to publish any content of this project. Any form of plagiarism is strictly forbidden and will result in removal from the program.
Python Scripts Allowed editors: vi, vim, emacs All your files will be interpreted/compiled on Ubuntu 20.04 LTS using python3 (version 3.8.5) All your files should end with a new line The first line of all your files should be exactly #!/usr/bin/python3 A README.md file at the root of the repo, containing a description of the repository A README.md file, at the root of the folder of this project, is mandatory Your code should use the pycodestyle (version 2.8.*) All your files must be executable The length of your files will be tested using wc Shell Scripts Allowed editors: vi, vim, emacs All your scripts will be tested on Ubuntu 20.04 LTS All your scripts should be exactly two lines long (wc -l file should print 2) All your files should end with a new line The first line of all your files should be exactly #!/bin/bash All your files must be executable C Scripts Allowed editors: vi, vim, emacs All your files will be compiled on Ubuntu 20.04 LTS using gcc, using the options -Wall -Werror -Wextra -pedantic -std=gnu89 All your files should end with a new line Your code should use the Betty style. It will be checked using betty-style.pl and betty-doc.pl You are not allowed to use global variables No more than 5 functions per file In the following examples, the main.c files are shown as examples. You can use them to test your functions, but you don’t have to push them to your repo (if you do we won’t take them into account). We will use our own main.c files at compilation. Our main.c files might be different from the one shown in the examples The prototypes of all your functions should be included in your header file called lists.h Don’t forget to push your header file All your header files should be include guarded