the aim of this first assignment is to implement a Linked List that is able to hold and operate on more complex data (than just one number, string, etc.).
Specifically, the task is to create a set of flash cards. The “deck” of flash cards can be thought of as a linked list. Each flash card should have a hint (e.g. “an ADT that typically has push and pop operations”), and then will prompt for an answer from the user. The program should go through the deck of flash cards (i.e. traverse the linked list).
See the video here for a short demonstration of what the program should look like when it is run:
What to hand in?
A single *.py file should be submitted here on Canvas. Do *not* put your name anywhere in the *.py file since this will be anonymously reviewed.
The example of how the ouput should is the first screen shot i’ve added. the next 2 screen shots are how the assignment is graded.
- the program should have at least 3 flash cards
- you should choose hints and answers other than those that are shown in the demonstration video
- your cards (the hints and answers) should be hard-coded inside of your program (you do not want to have to input the cards in your program each time it is run, and, when someone else runs your program they will be able to see new flash cards that they have not seen before)
The flow of the program is that we iterate through the deck of flash cards (i.e. the linked list), and remove a card (i.e. node) when it has been answered correctly twice. Thus, iterating over the linked list, keeping track of correct answers, and stopping when the list is empty, is 90% of the task here. Try to push as much functionality into your flash cards (nodes), and deck (list) as possible. That way the main part of your program can be very short and simple.
The python function, “input()” will be helpful. Here is how it could be used in this program:
answer = input("ENTER 'S' FOR STACK, 'Q' FOR QUEUE', OR 'L' FOR LIST")