我的秒到天,小时,分钟,秒计算器有几个问题



所以我想做一个计算器,可以显示多少天,小时,分钟,秒输入秒是。我想隐藏0,例如)0天,0小时,2分23秒我可以把它们做完,但是有两个大问题……

  1. 每当我输入数字像3600,或60,程序只是返回开始没有任何消息…
  2. 每当我试图删除xx**。0**,并添加:。如果到{}s,我得到ValueErrors…

我几乎是一个初学者,老实说,我试了一整天,但我仍然挣扎…如果你能告诉我出了什么问题,我将不胜感激。

while 1:
try:
    totsec=float(input("Type desired seconds : "))#Input seconds
    if(totsec%1!=0):#Bact to input if input is not decimal
        print("Can't calculate miliseconds...")
        continue
    if(totsec<0):#Bact to input if it is negative number
        print("Negative seconds...")
        continue
    if(totsec==0):#Back to input if it's 0
        print("umm... 0 second.")
        continue
    day=totsec//86400
    hour=(totsec-86400*day)//3600
    min=(totsec-86400*day-3600*hour)//60
    sec=totsec-86400*day-3600*hour-min*60
    #
    dayout,hourout,minout,secout=f'{day}Day, ',f'{hour}Hour, ',f'{min}Minute, ',f'{sec}second'
    if(day==0):#So I don't see 0 day
        dayout=str()
    if(hour==0):
        hourout=str()
    if(min==0):
        minout=str()
    if(sec==0):
        secout=str()
    else:
        print(f'{dayout}{hourout}{minout}{secout}!')
    continue
except ValueError:
    print("Its not a number...")#if input isn't a float number
    continue

不要将print(f'{dayout}{hourout}{minout}{secout}!')命令放在else语句体中!只要去掉else语句,无论如何都使用print命令。

相关内容

  • 没有找到相关文章

最新更新