あなたはこれをどのくらいするつもりですか?
それがたくさんあり、何度も繰り返される場合は、それを行う関数を書くことができます。
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
必要に応じて変更してください。
複数形も考慮します。
申し訳ありませんが、少し面倒です - それは間違いなく片付けられる可能性があります - 急いでいました!