Difference between revisions of "CSC111 Homework 10 2014"
(→Output) |
(→Problem #2) |
||
Line 130: | Line 130: | ||
</source> | </source> | ||
<br /> | <br /> | ||
− | <br /> | + | * Run your program to see how it behaves. |
− | + | * Study the class '''PlanetList''', and figure out how each method works. | |
− | + | <br /> | |
− | + | ==Your assignment== | |
− | + | <br /> | |
− | == | + | * Add code to your hw10b.py program so that it will |
− | |||
− | |||
− | <br /> | ||
− | * | ||
*# display the name of the smallest planet | *# display the name of the smallest planet | ||
*# display the name of the largest planet | *# display the name of the largest planet | ||
*# display the number of planets | *# display the number of planets | ||
− | *# get the user to input a new planet that will be added to the list of planets | + | *# get the user to input a new planet that will be added to the list of planets (this [http://sciencenetlinks.com/interactives/messenger/psc/PlanetSize.html page] has good information on planets) |
*# display the new list of names of planets | *# display the new list of names of planets | ||
<br /> | <br /> |
Revision as of 15:33, 9 April 2014
--D. Thiebaut (talk) 10:30, 8 April 2014 (EDT)
Problem #1
The program below is missing its class! And it is also missing its documentation! It used to contain a class defined, with methods and member variables, and a fully developped documentation, but unfortunately all of them got erased.
We do have the output of a run of the program, though, when it still had its class definition. Both the incomplete code and the output are shown below.
def getNewCat():
print( "\nPlease enter the information for the new cat:")
name = input( "Cat name? " )
age = int( input( "Age, in years? " ) )
vac = input( "Vaccinated (Y/N)? " ).strip().lower()
vac = vac in ['y', 'yes']
neut = input( "Neutered (Y/N)? " ).strip().lower()
neut = neut in ['y', 'yes' ]
breed= input( "Breed? " ).strip()
return Cat( name, age, vac, neut, breed )
def main():
text="""Minou, 3, Yes, Yes, stray
Max, 1, Yes, No, Burmese
Gizmo, 2, No, No, Bengal
Garfield, 4, Yes, Yes, Orange Tabby"""
for line in text.split( "\n" ):
words = line.strip().split( "," )
if len( words ) != 5:
continue
name, age, vaccinated, neutered, breed = words
age = int( age.strip() )
if vaccinated.strip().lower() == "yes":
vaccinated = True
else:
vaccinated = False
neutered = neutered.strip().lower() == "yes":
cat = Cat( name.strip(), age, vaccinated, neutered, breed.strip() )
try:
cats.append( cat )
except NameError:
cats = []
cats.append( cat )
display( cats, "List of cats:" )
cats.append( getNewCat() )
display( cats, "List of cats with new addition:" )
vaccinatedNeuteredCats = []
for cat in cats:
if cat.isVaccinated() and cat.isNeutered():
vaccinatedNeuteredCats.append( cat )
display( vaccinatedNeuteredCats, "Vaccinated and neutered cats" )
main()
Output
List of cats:
=============
Cat: Minou, age: 3, vaccinated, neutered (stray)
Cat: Max, age: 1, vaccinated, not neutered (Burmese)
Cat: Gizmo, age: 2, not vaccinated, not neutered (Bengal)
Cat: Garfield, age: 4, vaccinated, neutered (Orange Tabby)
Please enter the information for the new cat:
Cat name? Ralph
Age, in years? 4
Vaccinated (Y/N)? y
Neutered (Y/N)? y
Breed? Angora
List of cats with new addition:
===============================
Cat: Minou, age: 3, vaccinated, neutered (stray)
Cat: Max, age: 1, vaccinated, not neutered (Burmese)
Cat: Gizmo, age: 2, not vaccinated, not neutered (Bengal)
Cat: Garfield, age: 4, vaccinated, neutered (Orange Tabby)
Cat: Ralph, age: 4, vaccinated, neutered (Angora)
Vaccinated and neutered cats
============================
Cat: Minou, age: 3, vaccinated, neutered (stray)
Cat: Garfield, age: 4, vaccinated, neutered (Orange Tabby)
Cat: Ralph, age: 4, vaccinated, neutered (Angora)
- Question
Recreate the original program with its Cat class. Make sure that it will generate the same output show above if fed the same cat information.
Document your code well, including the main and getNewCat functions. Document the class using the same approach as in this file: Planets.py.
Store your program in a file called hw10a.py and submit it here.
Problem #2
This problem was originally part of Lab #10.
Copy the code in this page and store it in a new Python file called Planets.py. Save it in your current working directory (where your other Python programs are).
Create a new program called hw10b.pyand add the code below to it.
from Planets import PlanetList
def playWithPlanets():
planets = PlanetList()
print( planets )
def main():
playWithPlanets()
main()
- Run your program to see how it behaves.
- Study the class PlanetList, and figure out how each method works.
Your assignment
- Add code to your hw10b.py program so that it will
- display the name of the smallest planet
- display the name of the largest planet
- display the number of planets
- get the user to input a new planet that will be added to the list of planets (this page has good information on planets)
- display the new list of names of planets
- NOTE: you cannot modify the code inside the class!