【python】编写一个时间类My_Time,包含一个三个参数的初始化方法,3个属性hour,minute,second,再加上一个转换成字符串的方法to_string

# 编写一个时间类My_Time,包含一个三个参数的初始化方法,3个属性hour,minute,second,再
# 加上一个转换成字符串的方法to_string。
# a. 注意:请注意时分秒的取值范围

解决方案如下:

class My_Time:
    hour=12
    minute=13
    second=1

    def __init__(self,hour=3,minute=2,second=2):
        self.hour=hour
        self.minute=minute
        self.second=second
    def to_string(self,h,m,s):
        self.hour=h
        self.minute=m
        self.second=s
        if 0<h<24 and 0<m<60 and 0<s<60:
            return str(h)+'时'+str(m)+'分'+str(s)+'秒'
        else:
            return '输入有误,请重新输入!'
t=My_Time()
t.hour=int(input('请输入现在是几时'))
t.minute=int(input('请输入现在是几时'))
t.second=int(input('请输入现在是几时'))
while True:
    str1=t.to_string(t.hour,t.minute,t.second)
    print(str1)
    if '输入有误'in str1:
        print('重新输入')
        t.to_string(int(input('请输入现在是几时')), int(input('请输入现在是几分'), int(input('请输入现在是几秒'))))
    else:
        break

难点时分秒之间的转化 60计算不是100!!!!

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,下面是一个简单的Python程序,定义了一个时间Time包含三个属性hourminutesecond: ```python class Time: def __init__(self, hour, minute, second): self.hour = hour self.minute = minute self.second = second def __str__(self): return "{:02d}:{:02d}:{:02d}".format(self.hour, self.minute, self.second) # 示例用法 t = Time(10, 30, 45) print(t) # 输出:10:30:45 ``` 这个程序中,`__init__`方法用于初始化时间对象的属性,`__str__`方法用于将时间对象转换为字符串表示。我们可以通过创建一个Time对象,并打印它来测试程序。 ### 回答2: 时间是生活中必不可少的一部编写一个时间time可以方便我们进行时间的计算和管理。时间time包含三个属性hourminutesecond别代表小钟和钟。 我们需要在程序中定义一个时间time,首先是定义名: class Time: 然后定义构造函数,用于创建时间实例。在构造函数中,我们需要将小钟和钟作为参数进行传递,并对这三个属性进行初始化: def __init__(self, hour, minute, second): self.hour = hour self.minute = minute self.second = second 接下来,我们可以定义一些操作方法,包括获取时间、设置时间和计算两个时间的差值等。 首先,我们需要一个方法来获取当前时间: def get_time(self): return f'{self.hour}:{self.minute}:{self.second}' 然后是设置时间方法,我们可以定义一个方法来设置时间并更新时间: def set_time(self, hour, minute, second): self.hour = hour self.minute = minute self.second = second 接下来,我们可以定义一个计算两个时间差值的方法Diff,用于计算两个时间之间的时间差: def Diff(self, time2): t1 = self.hour * 3600 + self.minute * 60 + self.second t2 = time2.hour * 3600 + time2.minute * 60 + time2.second diff = abs(t1 - t2) hour = diff // 3600 minute = (diff - hour * 3600) // 60 second = diff - hour * 3600 - minute * 60 return f'{hour}:{minute}:{second}' 最后,定义一个测试函数,用于测试程序: def test(): time1 = Time(7,30,0) time2 = Time(10,20,0) print(time1.get_time()) print(time2.get_time()) time1.set_time(8,0,0) time2.set_time(11,0,0) print(time1.get_time()) print(time2.get_time()) print(time2.Diff(time1)) if __name__ == '__main__': test() 在测试函数中,我们创建了两个时间实例time1和time2,并别调用了获取时间、设置时间和计算时间差的方法。最后输出结果。 这就是一个简单的时间time编写过程和程序实现方法,我们可以根据需要进行修改和完善。 ### 回答3: 编写一个时间time,可以用以下代码实现。 ```python class Time: def __init__(self, hour, minute, second): self.hour = hour self.minute = minute self.second = second def __str__(self): return '{:02d}:{:02d}:{:02d}'.format(self.hour, self.minute, self.second) def set_time(self, hour, minute, second): self.hour = hour self.minute = minute self.second = second def add_seconds(self, seconds): total_seconds = self.time_to_seconds() + seconds self.seconds_to_time(total_seconds) def time_to_seconds(self): return self.hour * 3600 + self.minute * 60 + self.second def seconds_to_time(self, seconds): self.hour = seconds // 3600 seconds %= 3600 self.minute = seconds // 60 self.second = seconds % 60 ``` 这个时间包含三个属性hourminutesecond。通过构造函数 `__init__` 初始化三个属性。`__str__` 方法时间对象转换为字符串表示。`set_time` 方法可以设置时间。`add_seconds` 方法可以在时间上增加指定的数。`time_to_seconds` 将时间转换为总数,`seconds_to_time` 将数转换为数。这些方法都是在时间 Time 中定义的。 我们可以使用这个来操作时间。例如: ```python t = Time(3, 20, 45) print(t) # 输出: 03:20:45 t.set_time(5, 40, 30) print(t) # 输出: 05:40:30 t.add_seconds(120) print(t) # 输出: 05:42:30 ``` 以上代码创建了一个 Time 对象,设置了时间为 3:20:45。然后设置时间为 5:40:30。最后增加了 120 ,将时间设置为 5:42:30。这些操作都是通过 Time 中的方法实现的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值