acm A - 2-2 Time类的定义 python
下面展示一些 内联代码片
。
题目:
Description
通过本题目的练习可以掌握类与对象的定义;
设计一个时间类Time,私有数据成员有hour(时)、minute(分)、second(秒);
公有成员函数有:setHour(int)设置数据成员hour的值(采用12小时制),非法的输入默认为12;setMinue(int)设置数据成员minute的值,非法输入默认为0;setSecond(int)设置数据成员second的值,非法输入默认为0;setTime(int,int,int)设置时、分、秒三个数据成员的值; showTime()显示时间对象的值。
在主函数main()中调用相应成员函数,使得时间对象的值能从键盘接收,并正确显示。
提示:时、分、秒均按2位数值形式显示 。
Input
输入3个整数,用一个空格间隔
Output
输出 时、分、秒的值,中间用“:”间隔
class Time:
def __init__(self):
self.__h = 12
self.__m = 0
self.__s = 0
def setHour(self,h):
if h > 12 or h < 0:
self.__h = 12
else:
self.__h = h
def setMinue(self,m):
if m > 60 or m < 0:
self.__m = 0
else:
self.__m = m
def setSecond(self,s):
if s > 60 or s < 0:
self.__s = 0
else:
self.__s = s
def setTime(self,h,m,s):
self.setHour(h)
self.setMinue(m)
self.setSecond(s)
def showTime(self,):
if self.__h < 10:
print('0{}:'.format(self.__h),end="")
else:
print('{}:'.format(self.__h),end='')
if self.__m < 10:
print('0{}:'.format(self.__m),end='')
else:
print('{}:'.format(self.__m),end='')
if self.__s < 10:
print('0{}'.format(self.__s),end='')
else:
print('{}'.format(self.__s),end='')
if __name__ == '__main__':
a,b,c = input().split(' ')
a = int(a)
b = int(b)
c = int(c)
t = Time()
t.setTime(a,b,c)
t.showTime()
本人也是刚学Python的面向对象,看到网上没有这部分相关代码,故把自己代码分享,由于刚刚接触,所以可能代码写的很糟,请各位大佬斧正