python设计一个Time类,表示时间。Time类包括: int类型的私有数据域hour、minute、second,表示时、分、秒。 构造方法,将hour、minute、second设置为给定的参数。hour、minute、second的默认参数值均为0。 hour、minute、second的更改器和访问器方法。 成员方法setTime,用于同时更改时、分、秒。 成员方法printTime24,以24小时制格式输出时间,格式为时:分:秒。 成员方法printTime12,以12小时制格式输出时间,格式为时:分:秒 AM或时:分:秒 PM。 成员方法tick,将时间递增1秒。要考虑增加1秒后,时间增加到下一分钟、下一小时、下一天的情况。 【输入】 一行中给出时、分、秒的值,其间以“:”分隔。 【输出】 以24小时制格式和12小时制格式输出当前时间,下一秒的时间以及默认构造对象的时间。
时间: 2024-02-09 08:11:52 浏览: 34
以下是实现Time类的代码:
```python
class Time:
def __init__(self, hour=0, minute=0, second=0):
self.__hour = hour
self.__minute = minute
self.__second = second
def setHour(self, hour):
self.__hour = hour
def getHour(self):
return self.__hour
def setMinute(self, minute):
self.__minute = minute
def getMinute(self):
return self.__minute
def setSecond(self, second):
self.__second = second
def getSecond(self):
return self.__second
def setTime(self, hour, minute, second):
self.__hour = hour
self.__minute = minute
self.__second = second
def printTime24(self):
print("{:02d}:{:02d}:{:02d}".format(self.__hour, self.__minute, self.__second))
def printTime12(self):
if self.__hour < 12:
print("{:02d}:{:02d}:{:02d} AM".format(self.__hour, self.__minute, self.__second))
else:
print("{:02d}:{:02d}:{:02d} PM".format(self.__hour - 12, self.__minute, self.__second))
def tick(self):
self.__second += 1
if self.__second >= 60:
self.__second = 0
self.__minute += 1
if self.__minute >= 60:
self.__minute = 0
self.__hour += 1
if self.__hour >= 24:
self.__hour = 0
```
接下来是主程序的代码:
```python
# 读入时、分、秒
hour, minute, second = map(int, input().split(':'))
# 创建Time对象并设置时间
t1 = Time(hour, minute, second)
# 输出24小时制格式的当前时间
t1.printTime24()
# 输出12小时制格式的当前时间
t1.printTime12()
# 将时间递增1秒
t1.tick()
# 输出24小时制格式的下一秒时间
t1.printTime24()
# 输出12小时制格式的下一秒时间
t1.printTime12()
# 创建默认构造对象
t2 = Time()
# 输出默认构造对象的时间
t2.printTime24()
```
输入格式样例:
```
23:59:59
```
输出格式样例:
```
23:59:59
11:59:59 PM
00:00:00
12:00:00 AM
00:00:00
```