所以我想做一个计算器,可以显示多少天,小时,分钟,秒输入秒是。我想隐藏0,例如)0天,0小时,2分23秒我可以把它们做完,但是有两个大问题……
- 每当我输入数字像3600,或60,程序只是返回开始没有任何消息…
- 每当我试图删除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
命令。