我正在自学如何用Python编程。
我试图编写一个“计算器”,计算我需要工作多少小时/天才能购买产品。我得到了这个错误,不知道如何修复它:
File "D:\---\---\---\code.py", line 21, in <module>
print("Para comprar um produto de " + str(preco) + " tem de trabalhar durante " + str(resultado.strftime("%d dias, %H horas e %M minutos.")))
AttributeError: 'datetime.timedelta' object has no attribute 'strftime'
字符串
下面是整个代码:
import datetime
while True:
questao = input("Quer calcular em horas ou em dias?\nH ou D: ")
if questao == "H":
salario = float(input("\nQuanto ganha por hora? "))
preco = float(input("Quanto custa o produto? "))
divisão = preco/salario
resultado = datetime.timedelta(hours=divisão)
break
elif questao == "D":
salario = float(input("\nQuanto ganha por dia? "))
preco = float(input("Quanto custa o produto? "))
divisão = preco/salario
resultado = datetime.timedelta(days=divisão)
break
else:
print("Inseriu algo que não existe, tente novamente!\n")
continue
print("Para comprar um produto de " + str(preco) + " tem de trabalhar durante " + str(resultado.strftime("%d dias, %H horas e %M minutos.")))
型
有人能帮我解决这个问题吗?谢谢:)
2条答案
按热度按时间mpbci0fu1#
你可以从timedelta和秒中获取.days值。与其他日期时间对象不同,使用.hour不起作用。然后对秒进行数学运算以获得小时和分钟。如果更容易,你也可以将其转换为字符串。
字符串
li9yvcax2#
如果你想格式化YYYY:MM:DD:HH:MM:SS,那么这段代码只是复制粘贴
def format_timedelta(td):#计算组件days = abs(td.days)minutes,seconds = divmod(td.seconds,60)hours,remainder = divmod(minutes,60)
字符串