The end of semester test will require you to write some small programs/functions to demonstrate your ability to apply the concepts we have covered in the unit.
Here are some workshop tasks that I feel have a similar level of complexity and work involved to these sorts of questions in the test - they are good tasks to work through as part of your study.
It is also worth mentioning the task covered in Reading 3.2 – Dice Roll Problem and the Tax File Number mini project in Module 5 since they are of similar scope and complexity.
Be sure to also write pseudocode for these programs, as that may be required in the test questions.
A good way to practice your programming (and hence study for the end of semester test) is to come up with small functions and try to implement them. They don't need to be particularly useful functions, but they should present you with some kind of "data manipulation" problem that you can solve by applying programming concepts.
Below are some examples, but others are welcome to contribute more as well. Please resist posting your solutions though, since the value of the task is really in figuring out a solution, not just seeing/having the end result. Note that you should ideally aim to implement the functions using basic/generic programming concepts, rather than using some Python-specific built in function or trick that does it for you. I also recommend trying to implement the functions under the same conditions as the end of semester test - i.e. you can use Python and the unit content but cannot use other websites or resources.
Some of these functions are similar to the types of questions that you may encounter in the end of the semester test. It would also be a good idea to make sure that you write the pseudocode of your solutions, as that may be required at the end of semester test questions.
"reverse" function
Write a function named reverse that receives a parameter named "text" (a string), and returns "text" in reverse.
e.g. if you give the function text of "hello", it should return a string of "olleh"
"echo" function
Write a function named "echo" that receives 2 parameters - "text" (a string) and "dropoff" (an int), and prints the "text" in the form of an echo, removing "dropoff" characters each time.
e.g. if you give the function text of "albatross" and a dropoff of 2, the function should print:
albatross
batross
tross
oss
s
"sum" function
Write a function that replicates Python's built-in "sum()" function. It should receives a parameter named "nums" (a list of numbers) and returns the sum of those numbers.
Obviously, your code should not use the built-in "sum()" function - you should implement the functionality yourself, e.g. using a loop and addition.
"min" / "max" functions
Write functions that replicate Python's built-in "min ()" and "max ()" functions. They should receive a parameter named "nums" (a list of numbers) and return the smallest or largest of those numbers. These are two separate functions. Feel free to just create one of them, since the process is essentially the same.
Obviously, your code should not use the built-in "min()" or "max()" functions - you should implement the functionality yourself, e.g. using a loop and a comparison.
"l33t" function
Write a function named "l33t" that receives a parameter named "text" (a string) and returns a version of "text" with the following characters replaced:
"a" should be replaced with "@", "e" should be replaced with "3", "i" should be replaced with "1", "o" should be replaced with "0" and "u"... should just be left as is. Or replaced with "(_)" if you want to get fancy.
e.g. if you give the function text of "omg super hacker", it should return a string of "0mg sup3r h@ck3r" or "0mg s(_)p3r h@ck3r"
"alt_caps" function
Write a function named "alt_caps" that receives 2 parameters - "text" (a string) and "upFirst" (a boolean value, default of True), and returns a version of "text" with AlTeRnAtInG CaPiTaL LeTtErS.If the upFirst parameter is True, the first character of "text" should be capitalised (and the second character in lowercase, and so on). If upFirst is False, the first character of "text" should be in lowercase (and the second character in uppercase, and so on).
e.g. if you give the function text of "potato" and upFirst of True, it should return a string of "PoTaTo". If you give it text of "potato" and upFirst of False, it should return a string of "pOtAtO"
"print_box" function
Write a function named "print_box" that receives 2 parameters - "width" (an integer) and "height" (an integer). The function should print a box/rectangle made out of "#" characters that is "width" characters wide and "height" characters high. The function should not return anything - it should simply print the box. e.g. print_box(10, 5) would print:
##########
# #
# #
# #
##########
This function should involve a for loop and use Python's ability to multiply a string by an integer, e.g. "#" * 10 results in "##########". If you want to make this function more sophisticated, make sure that it works as intended even with small values (e.g. a 1x1 box would simply be "#", and 0x0 or lower would not print anything), and allow a 3rd, optional parameter (a string of 1 character) named "char" which allows the user to specify which character to use instead of "#", and a 4th optional parameter (a boolean) named "fill" which determines whether the function prints an outline as seen above, or a filled box, e.g.
##########
##########
##########
##########
##########
"center" function
Write a function named "center" that receives 2 parameters - "text" (a string) and "width" (an int), and returns a string containing "text" centered in a string of "width" length.
e.g. If you give the function text of "hello" and a width of 11, it should return a string of " hello " (i.e. the text with 3 spaces before and 3 spaces after - a total of 11 characters).
This function replicates Python's built in str.center() method - see the documentation for further information and examples of how it handles things, and don't use this function in your solution...
"sum_between" function
Write a function named "sum_between" that receives 2 parameters - "start" (an int) and "end" (an int). It should return the sum (total) of all of the integers between (and including) "start" and "end".
If "end" is less than "start", the function should return -1 instead.
e.g. if you give the function a start of 10 and an end of 15, it should return 75 (i.e. 10+11+12+13+14+15)
"difference" function
Write a function named "difference" that receives 2 parameters - "num1" (an int) and "num2" (an int). It should return the difference between the two numbers as an absolute value (i.e. no negative numbers, simply the difference between the two numbers regardless of order). It should not matter whether num1 is larger or smaller than num2.
e.g. difference(5, 8) should return 3, and difference(8, 5) should also return 3.
This function can be made trivial by using Python's built in "abs()" function - the task will be more worthwhile if you don't use this function.
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of