CSc 120: Classes: Temperatures
Expected Behavior
Write a Python class Temp that meets the following requirements:
Attributes:
-
_temp: the numerical value of the temperature the object
represents;
-
_unit: "C" if the object was
created using a Celsius temperature; "F" if it
was created using a Fahrenheit temperature.
Methods:
-
__init__(self, temp, unit): where temp
is a number and unit is either "C"
or "F" depending on whether temp
represents a Celsius or Fahrenheit temperature. This method initializes the
_temp attribute of the object with the value of
temp and the _unit attribute with the
value of unit.
-
__str__(self): returns a string consisting of
the value of the object's
_temp attribute together with the unit
("C" or "F") the
object was created with.
-
Methods that take a second Temp object
other as argument and compare the temperature represented
by the object is hotter, cooler, or the same as that represented by
other.
Given two Temp objects t1 and
t2, it should be possible to determine relationship between them,
i.e., whether they represent the same temperature, or whether one is
a bigger or smaller temperature when converted to the same unit, using
the comparison operations
<,
≤,
>,
≥,
==,
!=.
Examples
-
t1 = Temp(0, "C")
t2 = Temp(32, "F")
t1 == t2
Result: True
-
t1 = Temp(0, "C")
t2 = Temp(0, "F")
t1 > t2
Result: True
-
t1 = Temp(100, "C")
t2 = Temp(212, "F")
t1 != t2
Result: False
-
t1 = Temp(100, "C")
str(t1)
Result: '100C'