7-2 时间换算 分数 25 作者 C课程组 单位 浙江大学 本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。 输入格式: 输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。 输出格式: 输出在一行中给出hh:mm:ss格式的结果时间。 输入样例: 11:59:40 30 输出样例: 12:00:10
时间: 2024-03-26 07:38:02 浏览: 105
下面是 Python 的代码实现:
```python
time = input().split(":")
n = int(input())
hour, minute, second = int(time[0]), int(time[1]), int(time[2])
total_second = hour * 3600 + minute * 60 + second + n
new_second = total_second % 60
total_minute = total_second // 60
new_minute = total_minute % 60
new_hour = total_minute // 60 % 24
print("{:02d}:{:02d}:{:02d}".format(new_hour, new_minute, new_second))
```
输入样例:
```
11:59:40
30
```
输出样例:
```
12:00:10
```
相关问题
7-2 时间换算 分数 15 作者 C课程组 单位 浙江大学 本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。 输入格式: 输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。 输出格式: 输出在一行中给出hh:mm:ss格式的结果时间。 输入样例: 11:59:40 30 输出样例: 12:00:10
以下是一个可以实现题目要求的 Python 代码:
```python
# 读入起始时间和秒数
start_time = input().strip()
sec = int(input())
# 将起始时间转换为秒数
h, m, s = map(int, start_time.split(':'))
start_sec = h * 3600 + m * 60 + s
# 计算经过秒数后的秒数和时间
end_sec = (start_sec + sec) % (24 * 3600)
h = end_sec // 3600
m = (end_sec % 3600) // 60
s = end_sec % 60
# 输出结果
print("{:02d}:{:02d}:{:02d}".format(h, m, s))
```
代码的基本思路是先将输入的起始时间转换为秒数,然后加上给定的秒数,最后将得到的结果转换回 hh:mm:ss 的格式输出。需要注意的是,当超过 23:59:59 时需要从 0 点开始重新计时,这可以通过对计算得到的秒数取模 24*3600 来实现。
阅读全文