My priorities, my time

From Computer Science Wiki
Revision as of 09:15, 30 November 2018 by Mr. MacKenty (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
This a problem set for you to work through [1]

This is a problem set. Some of these are easy, others are far more difficult. The purpose of these problems sets are to HELP YOU THINK THROUGH problems.


What is this problem set trying to do[edit]

You have to think about conditions and computational thinking here. You are also going to be sorting a list.

The Problem[edit]

Please write a program that asks someone what their priorities are. Then, ask them how many hours they spend each day doing different activities. Ideally these two lists should match, right? you must:

  1. store user input about priorities
  2. store user input about the amount of time the user spends on the same priorities
  3. print differences between the two pieces of information

Some Code to Get You Started[edit]

# This program asks a user what is important
# it THEN asks a user to tell us how much TIME they spend
# the purpose of the program is to force users to REFLECT on
# what they SAY is important vs what is really important. 

what_is_important = []
time_spent_doing = []
important_thing = "foo"
time_in_a_day = 24

print('''
============| Part 1 | =======================
Think about what is important to you.

Type something specific that is important to you,
such as sleep, video games, talking with friends, 
sports, or school.


When you are done, please type done. 
==============================================

''')
while not important_thing == "done":
    
    important_thing = raw_input("Please type something that is important to you: ")
    if important_thing != "done":
        if important_thing  not in what_is_important:
            what_is_important.append(important_thing)
            print("Thank you. You have " + str(len(what_is_important)) + " things in your list of important things.")
        else:
            print("Error: it looks like you already have that in your list. Try again.")
    
            
print('''
============| Part 2 | =======================
Now that we know what is important to you,
let's see how much time you spend doing them.

         There are 24 hours in a day. 
==============================================

''')    



for i in range(0,len(what_is_important)):
    time_item = input("How much time in 24 hours do you spend on: " + what_is_important[i] + "? ")
    time_spent_doing.append(time_item)
    time_in_a_day = time_in_a_day - time_item
    print("There are " + str(time_in_a_day) + " hours left. ")
    
    
for i in range(0,len(what_is_important)):
    print("Your spend " + str(time_spent_doing[i]) + " hours on " + str(what_is_important[i]) + "\n")
    
# your tasks for todays class: 
#
# 1. sort both lists so we know what people spend MOST of their time doing
# 2. offer advice to them how they can improve their lives by focusing on truly important things
# 3. offer at least three suggestions about what is actually truly important to be happy (please don't be silly)
# 4.  ask the user what their goals are
# 5. ask the user if what they are doing is helping them achieve their goals

Take This Further[edit]

  1. add in a condition that players only have a certain number of turns to win
  2. add in a difficulty level; easy, medium and expert. If a player has easy, they have 8 tries, medium, they have only 4 tries, and expert, only 2 tries!!

How you will be assessed[edit]

Your solution will be graded using the following axis:

Scope

  1. To what extent does your code implement the features required by our specification?
  2. Did the student try?
  3. Evidence of effort? If they tried, they get assessed.


Correctness

  1. Did code meet specifications?
  2. Did code meet unit tests?
  3. If it passes all unit tests, it earns a 5
  4. Check50: output is suggestive not determinative.


Design

  1. Is this code efficient?
  2. Are you you eliminating repetition?
  3. Are you using functions when you should?
  4. Code that is short is often a proxy for good design


Style

  1. Is your code formatted?
  2. Variables well named?
  3. Adhere to clean code

References[edit]

A possible solution[edit]

Click the expand link to see one possible solution, but NOT before you have tried and failed!

not yet!