Python 检查数字是否为四舍五入,如果不是,则将其四舍五入
我有一个小python项目。只是为了好玩。当您想关闭电脑时,您可以在此处添加。开始时,您可以选择秒/分钟/小时,如果选择分钟,则输入的数字*60将出现在“shutdown.exe/s/t…”中。(它仅适用于整数,即使最后超过1.5*60也将是整数。)我想检查…*60是否是一个整数。如果不是,则将其四舍五入并使用整数运行。Python 检查数字是否为四舍五入,如果不是,则将其四舍五入,python,input,rounding,Python,Input,Rounding,我有一个小python项目。只是为了好玩。当您想关闭电脑时,您可以在此处添加。开始时,您可以选择秒/分钟/小时,如果选择分钟,则输入的数字*60将出现在“shutdown.exe/s/t…”中。(它仅适用于整数,即使最后超过1.5*60也将是整数。)我想检查…*60是否是一个整数。如果不是,则将其四舍五入并使用整数运行。这里有我要说的代码部分: minutes = input(":") if minutes >= "1": minutes =
这里有我要说的代码部分:
minutes = input(":")
if minutes >= "1":
minutes = int(minutes)
minsec = (minutes*60)
minsec = str(minsec)
os.system("shutdown.exe /s /t " + minsec)
您可以看到完整的代码
(我刚开始学习python,这是我的第一个问题,如果有什么不可理解的话,很抱歉。)无论值是否为整数,只要使用int(yourvalue)将其转换为整数,即使用int(yourvalue)将其舍入,值将始终为整数。我使用了eval(),这是有效的:
minutes = input(":")
if minutes >= "1":
#Minutes Calculation
minsec = str(int(eval(minutes) * 60))
#Shutdown with time
os.system("shutdown.exe /s /t " + minsec)
您想问什么?请指定您想对该代码执行的操作。是否有错误?或其他任何操作?无论是否需要,只需将其舍入:
舍入(1.5*60)
->90
,舍入(1.5*55)
->82
,等等。它只处理整数。如果我键入1.5,我会出错,但我不知道为什么,因为它将是90,shutdown.exe/s/t90是正确的。而round函数在这里似乎不起作用,我尝试使用它,但不知怎的,我总是出错。(对不起,这个坏问题,我在stackoverflow方面确实是新手。)我试图将minsec=(minutes*60)编辑为minsec=round((minutes*60)),但它不起作用。但是op.sys需要是str(“shutdown.exe/s/t”+…)错误:minutes=int(minutes)value错误:int()的文本无效,以10为基数:“1.5”试试这个v=“shutdown/s/t”+str(int(7555.9))os.system(v)这对meI来说很好。我需要乘以数字*60。我也不行。(v=“…”+str(int(minutes*60))。我仍然有错误。我想我不能使用int()作为输入,如果它是1.22而不是1或2。Idk为什么。在之前做乘法,就像你原来的post minsec=(minutes*60)那么v=”shutdown/s/t“+str(int(minsec))然后os.system(v)它对我不起作用,因为输入不能是1.xxx,但通过一个简单的eval()它就起作用了。minsec=str(int(eval(minutes)*60))这终于起作用了,旧的os.sys(“shutdown…”+minsec)运行得很好。但是谢谢。