Considering taking a hammer to the computer...

Modulok modulok at gmail.com
Tue Jan 1 04:59:06 CET 2013

```> I'm trying to help my son with an assignment and spending hours making an
> inch of progress.  I know nothing about programming and I'm trying to learn,
> on my own, at a rate faster than possible. I would love a little help!
>
> My son is taking an introductory course and his assignment is to use the
> loops for and while to create a program which calculates a hotel's occupancy
> rate. He has managed all of the "inputs" but needs help with the following:
>
> 1) The first question asked is how many floors are in the hotel - and then
> the questions are asked floor by floor.  We can't figure out how to get the
> program to stop questioning when the number of floors is reached.
>
> 2) He has programmed specific calculations for each floor, and now needs to
> have  calculations for the entire hotel based on the input about each
> floor.
>
> Here is what he has done so far:
>
>
> #This program will calculate the occupancy rate of a hotel
> floor_number = 0
>
>
> number_of_floors = int(input("How many floors are in the hotel?: "))
> while number_of_floors < 1:
>     print ("Invalid input!")
>     number_of_floors = input("Enter the number of floors in the hotel: ")
> while number_of_floors > 1:
>     floor_number = floor_number + 1
>     print()
>     print ("For floor #",floor_number)
>     rooms_on_floor = int(input("How many rooms are on the floor ?: " ))
>     while rooms_on_floor < 10:
>         print ("Invalid input!")
>         rooms_on_floor = int(input("Enter the number of rooms on floor: "))
>
>     occupied_rooms = int(input("How many rooms on the floor are occupied?:
> "))
>
>     #CALCULATE OCCUPANCY RATE FOR FLOOR
>     occupancy_rate = occupied_rooms / rooms_on_floor
>     print ("The occupancy rate for this floor is ",occupancy_rate)
>
>
>
> The following is what we believe needs to go in the program at the end
> except we can't figure out how to calculate it and make it all work :/ (alot
> of the terms have nothing at all to identify them yet...)
>
> hotel_occupancy = total_occupied / total_rooms
> print ("The occupancy rate for this hotel is ",hotel_occupancy)
> print ("The total number of rooms at this hotel is ",total_rooms)
> print ("The number of occupied rooms at this hotel is ",total_occupied)
> vacant_rooms = total_rooms - total_occupied
> print ("The number of vacant rooms at this hotel is ",vacant_rooms)
>
> We've searched and read and we found things about the "break" and "pass"
> commands but his teacher will not allow them because they haven't been
> taught yet.
>
> If you have any ideas and can take a minute to help, that would be great :)
>
> Thank you!

#This program will calculate the occupancy rate of a hotel
floor_number = 0

number_of_floors = int(input("How many floors are in the hotel?: "))
while number_of_floors < 1:
print ("Invalid input!")

number_of_floors = input("Enter the number of floors in the hotel: ")
# Remember you need to make sure this is an int, just like before.
# number_of_floors = int(input("Enter the number of floors
in the hotel: ")) Right now it's a string.

while number_of_floors > 1:
# This loop runs forever, as number_of_floors never changes. You need
# to do something to `number_of_floors` such as de-increment it e.g:
# `number_of_floors -= 1`, that way we will *eventually* have
# number_of_floors less than 1, thus stopping the loop. A better
# idea would be to use a `for` loop instead of the above `while`
# loop. For example::
#
#   for i in range(number_of_floors):
#       # blah... do something for each floor. This loop
auto-terminates.
#

floor_number = floor_number + 1
print()
print ("For floor #",floor_number)
rooms_on_floor = int(input("How many rooms are on the floor ?: " ))

while rooms_on_floor < 10:
print ("Invalid input!")
# You might consider telling your user why their input is
# invalid. e.g: "rooms on floor must be greater than 10".

rooms_on_floor = int(input("Enter the number of rooms on floor: "))

occupied_rooms = int(input("How many rooms on the floor are
occupied?: "))

#CALCULATE OCCUPANCY RATE FOR FLOOR
occupancy_rate = occupied_rooms / rooms_on_floor
print ("The occupancy rate for this floor is ",occupancy_rate)

-Modulok-

```