Сколько ты собираешься этим заниматься?
Если их много и они будут часто повторяться, вы можете просто написать функцию, которая сделает это за вас;
def days(t):
oxford_comma = False
a = [" day", " hour", " minute"]
s = []
if len(t) != 4:
return "incorrect format"
else:
for i in range(3):
if t[i] != 0:
plural = "s" if t[i] > 1 else ""
s.append(str(t[i]) + a[i] + plural + ", ")
if len(s) > 1:
if not oxford_comma:
s[-2] = s[-2].replace(",","")
s.insert(len(s)-1,"and ")
return "".join(s)[:-2]
print days((1,2,3,11)) #1 day, 2 hours, and 3 minutes
print days((0,2,3,1)) #2 hours, and 3 minutes
print days((0,0,3,11)) #3 minutes
print days((1,1,1,11)) #1 day, 1 hour, and 1 minute
Измените oxford_comma
, если хотите.
Также учитывается множественное число.
Извините, это немного грязно - это определенно можно было бы убрать - торопились!
person
will
schedule
11.01.2013