Project Detail
Budget is fixed.
Bid only if you do this project in this budget.
1. The first thing the program should do is try to open “[login to view URL]” in read mode, then load the data
from the file into a variable named data and then close the file.
▪ The data in the file should be in JSON format, so you will need to use the “load()” function from the
“json” module to read the data into your program. See the previous page for details of the data.
▪ If any exceptions occur (due to the file not existing, or it not containing valid JSON data), then simply
set the data variable to be an empty list.
2. The program should then print a welcome message and enter an endless loop which starts by
printing a list of options: “Choose [a]dd, [l]ist, [s]earch, [v]iew, [d]elete or [q]uit.” and then
prompts the user to enter their choice.
Once a choice has been entered, use an “if/elif” to respond appropriately (detailed below).
3. If the user enters “a” (add), prompt them to enter the setup and punchline of a joke, and use
them to create a new dictionary with the structure shown on the previous page. Append the
dictionary to the data list, then write the list to the text file in JSON format to save the joke.
▪ Use your “inputSomething()” function (detailed below) when prompting for the setup and
punchline, to ensure that the user is re-prompted until they enter something.
▪ The dictionary for the new joke should contain 4 keys – “setup” and “punchline” should contain what
the user entered, and “numOfRatings” and “sumOfRatings” should be given values of 0.
▪ Once the joke has been added to the data list, call your “saveChanges()” function (detailed below)
to write the changes to the text file.
4. If the user enters “l” (list), display a list of the jokes (just the setup) preceded by their index
number in the data list, or a “No jokes saved” error message if there is nothing in the list.
▪ Use a “for” loop to iterate through the jokes in the data list.
▪ You can use the “enumerate()” function to make sure you have a variable containing the index
number of each joke as you loop through them (see Lecture 3).
5. If the user enters “s” (search), prompt for a search term and then list the jokes whose setup or
punchline contains the search term. Remember to include the index number next to each result.
▪ This is a good opportunity to reuse and tweak the code used to list all jokes – the loop body needs an
“if” to only print jokes that contain the search term (use the “in” operator – see Lecture 3).
▪ Convert the search term, joke setup and punchline to lowercase to find matches regardless of case.
▪ Use your “inputSomething()” function (detailed below) when prompting for the search term, to
ensure that the user is re-prompted until they enter something.
6. If the user enters “v” (view), prompt them for an index number and then print the corresponding
joke’s setup and punchline, including details of the joke’s rating.
▪ If the joke’s “numOfRatings” key contains a 0, show a “Joke has not been rated” message. Otherwise,
show how many times the joke has been rated and the average rating of the joke (rounded to 1 decimal
place), e.g. “Rated 3 time(s). Average rating is 3.3/5.”
▪ Use your “inputInt()” function (detailed below) when prompting for an index number, to ensure
that the user is re-prompted until they enter an integer.
▪ Display an “Invalid index number” message if the user enters an index number that doesn’t exist in the
data list. Also consider showing a “No jokes saved” message and not allowing the user to specify an
index number if the data list is empty.
This is not full description of project.
Text for full description.
Knowledge of tkinter is must for this.
I have carefully gone thorough your description and understand what you want And I am glad to inform you that I have relevant strong experience in python. I'm confident that I can deliver high-quality work within your budget and timeframe. I can start immediately and work fultime for you. Let's discuss further.
mounir
Hi
I'll write the Python code you described within the given budget. I will give you a clean and efficient code in just a few hours.
Reach out and I'll get started on this.
Thanks
Shankar
Hello CodeSoft2018,
I went through your project description and it seems like I am a great fit for this job.
I am a seasoned back end developer with over 3 years of experience in Python frameworks such Django, Flask, etc.
My expertise is on Django framework. With years experience of working on server side applications SaaS products, I can guarantee you timely deliveries with high code quality, following modern practices for scalable code.
Furthermore, I have worked on all the mentioned skills such as: Python, Software Architecture
Lets connect in chat so that We discuss further.
Thank You
I am writing to propose my services for the project you have described. With my experience in Python programming and knowledge of the tkinter library, I am confident that I can deliver the program to your satisfaction.
As per your requirements, the program will read and write data to a JSON file and provide users with options to add, list, search, view, or delete jokes. I will ensure that the program handles exceptions gracefully and prompts the user to re-enter data as required.
In addition to the basic functionality, I will also include error messages and input validation to improve the user experience. For instance, if the user enters an invalid index number when viewing a joke or the data file is empty, the program will display an appropriate message.
I understand that the project budget is fixed, and I am willing to work within those constraints. My proposed timeline for completing the project is [X days/weeks], and I will provide regular updates on my progress.
If you have any questions or concerns, please do not hesitate to reach out to me. Thank you for considering my proposal, and I look forward to the opportunity to work with you.
hello
Thank for your job posting
I just read your job description and I think it's a great fit for me
Please look forward to the best results.
I completed similar project in the past
With my rich experience, your project can be completed perfectly .
Also i can work in your timezone
Thanks for your time.
Hi, I can start your project right now, coding/programming with Python. I always try to complete projects within the expected time frame. Thanks for considering me for this project.
Easy enough - load data using python's inbuilt json package, read the file into a json.
Also prompt the user for jokes, set into a dictionary and write to a file.
This should not take longer than a day to code. Let me know if you want me to work on this.
I have 25 years of experience. I can deliver your project on-time with highest quality. Lets talk to take things forward. We will have a long fruitful professional relationship.