Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查数字是否为四舍五入,如果不是,则将其四舍五入_Python_Input_Rounding - Fatal编程技术网

Python 检查数字是否为四舍五入,如果不是,则将其四舍五入

Python 检查数字是否为四舍五入,如果不是,则将其四舍五入,python,input,rounding,Python,Input,Rounding,我有一个小python项目。只是为了好玩。当您想关闭电脑时,您可以在此处添加。开始时,您可以选择秒/分钟/小时,如果选择分钟,则输入的数字*60将出现在“shutdown.exe/s/t…”中。(它仅适用于整数,即使最后超过1.5*60也将是整数。)我想检查…*60是否是一个整数。如果不是,则将其四舍五入并使用整数运行。这里有我要说的代码部分: minutes = input(":") if minutes >= "1": minutes =

我有一个小python项目。只是为了好玩。当您想关闭电脑时,您可以在此处添加。开始时,您可以选择秒/分钟/小时,如果选择分钟,则输入的数字*60将出现在“shutdown.exe/s/t…”中。(它仅适用于整数,即使最后超过1.5*60也将是整数。)我想检查…*60是否是一个整数。如果不是,则将其四舍五入并使用整数运行。
这里有我要说的代码部分:

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)运行得很好。但是谢谢。