Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

You are playing the game of Monopoly and you decide you wish to construct houses on one of your property groups. The rules of the

You are playing the game of Monopoly and you decide you wish to construct houses on one of your property groups. The rules of the game require that the number of houses on the properties within each group may not differ by more than one.

You will be given an amount of money to spend, the cost per house, and the number of properties in the group. The goal is to determine how many houses will go on each. And to appear more conversational, the last line of output will use words to represent numbers instead of digits.

To make the program simple, you may assume that you will not have enough money to build past four houses per property (twelve total). You do not need to convert the price of a house to a word (although that can be done rather simply).

Monopoly Property Groups

Here is a small table relating the colors of the monopoly property groups, the number of properties within the group, and the cost of the houses.

color size cost
purple 2 50
light blue 3 50
maroon 3 100
orange 3 100
red 3 150
yellow 3 150
green 3 200
dark blue 2 200

Sample Interfaces

Which color block will you be building on? orange How much money do you have to spend? 860 There are three properties and each house costs 100 You can build eight house(s) -- one will have two and two will have three
Which color block will you be building on? dark blue How much money do you have to spend? 250 There are two properties and each house costs 200 You can build one house(s) -- one will have none and one will have one

Exact spacing and spelling is not required -- correct calculation is far more important.

It is expected that lists and dictionaries will be sufficient for this entire problem. There should be nothing from later in the course (that is, do not use if statements or loops).

This is a continuation of the previous assignment, and introduces use of conditional decisions to solve some parts of the problem. It is hoped that the previous assignment was designed flexibly enough to allow for easy modification.

Problem Description

The previous assignment had a simplifying assumption that the amount of money would be limited, such that the builder could not afford more than four houses on any property. This assignment will lift that restriction.

There is nothing really special about building hotels in Monopoly. That purchase is simply equal to the price of five houses, and is built only in the same circumstances that would permit five houses (no other property may have fewer than four).

The inputs to the program will be essentially the same -- the color of a property group and the amount of money to be spent. But the following cases should be addressed:

  • if no building is affordable, display "You cannot afford even one house." instead of building 0 houses everywhere.
  • if one can afford to build 5 houses somewhere, announce that a hotel is being built instead of 5 houses.
  • if one can afford to build more than 5 houses somewhere, only build one hotel and nothing else
  • omit the word 'none' in the output (i..e don't say 'one property has none' or 'none have two')

Comparing Homework 2 to Homework 3

The difference in these programs primariliy appears in the final output statement:

Homework 2 Output Homework 3 Output
two will have one and one will have two two will have one and one will have two
one will have none and two will have one two will have one
three will have one and none will have two three will have one
three will have three and none will have four three will have three
two will have four and one will have five two will have four and one will have a hotel
two will have five and none will have six two will have a hotel
one will have seven and two will have eight three will have a hotel

Hint: The simplest and clearest solutions will use 'else' and 'elif' and will not need 'and' or 'or'. A portion of your grade is based on how clear your code is, and how well it avoids producing contradictory output.

Note: All of these decisions in this chart are entirely based on the results of the previous program, so your code should do the same -- wait until the calculations are complete before deciding how to display the results. Do not make your program unnecessarily complicated by trying to identify the different cases before doing any math.

Also Note: three hotels have the cost of 15 houses, which may require a slight modification to how you displayed numbers in the previous assignment. You may have your program state that they can only afford 15 houses, even if they could afford many more than that. Allowing for all the numbers from 16 to 100 (or 1000) is more cumbersome than interesting at this time.

Extra Credit Option

It is quite possible that the user chooses a color that is not accepted. Write code that would allow the user to try again, until a suitable input is found.

It might be good to treat "blue" as a special case, since it is not so much wrong as it is simply ambiguous.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Oracle 10g SQL

Authors: Joan Casteel, Lannes Morris Murphy

1st Edition

141883629X, 9781418836290

More Books

Students also viewed these Databases questions

Question

=+ How well do you think you could do your job?

Answered: 1 week ago