如何使用拆分计算总计小时和分钟

时间:2020-10-12 18:07:03

标签: python split

print("Please fill in the activity in hours")
Ac1 = input("School: ").split()
for School in Ac1:
     hour, min = [(i) for i in School.split(":")]

Ac2 = input("Work: ").split()
for Work in Ac2:
     hour, min = [(i) for i in Work.split(":")]

Ac3 = input("Sports: ").split()
for Sports in Ac3:
     hour, min = [(i) for i in Sports.split(":")]

Total = (Ac1 + Ac2 +Ac3)
print(Total)

我提供的输入内容没有加总,而是相互依存。

2 个答案:

答案 0 :(得分:0)

您提供的代码有几个很大的问题,但是据我了解,您想要的是这样的:

print("Please fill in the activity in hours")
hours = 0
minutes = 0

schools = input("School: ").split()
for school in schools:
    parts = school.split(":")
    hours += int(parts[0])
    minutes += int(parts[1])

works = input("Work: ").split()
for work in works:
    parts = work.split(":")
    hours += int(parts[0])
    minutes += int(parts[1])

sports = input("Sports: ").split()
for sport in sports:
    parts = sport.split(":")
    hours += int(parts[0])
    minutes += int(parts[1])

hours += int(minutes / 60)
minutes = minutes % 60
print("Total: {}:{}".format(hours, minutes))

尽管请注意,这是一个非常简单的示例,但缺少几个重要功能,例如输入验证。但是同样,您的问题还不清楚,因此我只修复了您自己的示例代码。

答案 1 :(得分:0)

由于阿米尔(Amir)已经给出了正确的答案,我想我会以另一种方式借助词典来获得相同的答案...

hours = 0

print("Please fill in the activity in hours")

categories = {'School': (),
              'Work': (),
              'Sports': ()
              }

for k, v in categories.items():
    time = input(f'{k}:').split(":")
    categories[k] = (int(time[0]), int(time[1]))

for v in categories.values():
    hours += v[0] + (v[1] / 60)

mins = (hours - int(hours)) * 60

print(f'{int(hours)}:{int(mins)}')