> 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!
Here's your program with some extra comments to get you started: #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- -- http://mail.python.org/mailman/listinfo/python-list