在Python中使用round()对总和进行舍入
我对Python2.7非常陌生(就像新的第一天),我正在尝试编写一个简单的Mils到学位转换程序作为学习练习。程序要求用户选择从度转换为密耳,或从度转换为密耳,然后要求输入值。它相应地进行除法或乘法,并打印转换后的答案。这就是问题所在。转换后的答案不应作为精确的浮点数返回。例如,如果用户输入6400密耳,我希望程序返回360度(1度=17.78密耳),而不是359.955度。我对round函数(有限)的理解是,它接受浮点和精度级别,但不接受变量。如何将总和传递到舍入() 非常感谢您的意见在Python中使用round()对总和进行舍入,python,Python,我对Python2.7非常陌生(就像新的第一天),我正在尝试编写一个简单的Mils到学位转换程序作为学习练习。程序要求用户选择从度转换为密耳,或从度转换为密耳,然后要求输入值。它相应地进行除法或乘法,并打印转换后的答案。这就是问题所在。转换后的答案不应作为精确的浮点数返回。例如,如果用户输入6400密耳,我希望程序返回360度(1度=17.78密耳),而不是359.955度。我对round函数(有限)的理解是,它接受浮点和精度级别,但不接受变量。如何将总和传递到舍入() 非常感谢您的意见 imp
import sys
import math
def menu():
print ""
print " Mils / Degrees Conversion Calculator"
print "-" * 38
print ""
print "Options: "
print "1. Degrees to Mils"
print ""
print "2. Mils to Degrees"
print ""
print "3. Quit"
print "-" * 20
print""
return input ("Choose your option: ")
print ""
#This function contains my attempt at rounding the sum and returns errors
def m2d(a):
print "Enter azimuth in mils (ex. 6400)"
b = 17.78
c = a / b
print a, " mils = ", c, "degrees"
round(c[])
#This function works as intended but does not include round()
def d2m(b):
print "Enter azimuth in degrees (ex. 90)"
a = 17.78
print b, " degrees = ", b * a, "mils"
loop = 1
choice = 0
while loop == 1:
choice = menu()
if choice == 1:
d2m(input("Degrees: "))
elif choice == 2:
m2d(input("Mils: "))
elif choice == 3:
loop = 0
有关round()的详细信息,请参见:
如果打印时不需要小数点,可以将替换c
替换为int(c)
另外,当您说print var1、var2时,它会自动在两者之间留出一个空格。您可能要尝试:
print a, "mils =", c, "degrees"
有关round()的详细信息,请参见:
如果打印时不需要小数点,可以将替换c
替换为int(c)
另外,当您说print var1、var2时,它会自动在两者之间留出一个空格。您可能要尝试:
print a, "mils =", c, "degrees"
您可以将float作为变量传递
round(c, 2)
将c四舍五入到小数点后两位。将浮点作为变量传递
round(c, 2)
将c四舍五入到小数点后两位。对于第1天的知识,您对python的概念理解得相当透彻。现在,代码中有些东西可以更改,以使某些输入更容易,但修改起来非常简单:
c = a / b
c = round(c)
看起来您正在舍入变量而不更改变量本身,这就是导致问题的原因。对于第1天的知识,您已经非常了解python的概念。现在,代码中有些东西可以更改,以使某些输入更容易,但修改起来非常简单:
c = a / b
c = round(c)
由于您似乎在对变量进行四舍五入而没有更改变量本身,这就是导致问题的原因。您将浮点作为变量进行传递
四舍五入(c,2)
将c
四舍五入到小数点后两位。补充回答,谢谢,尼克。我曲解了文件,实际上把括号放在了论点中。消除这些错误会停止错误。您可以将浮点作为变量四舍五入(c,2)
将c
四舍五入到小数点后两位。补充回答,谢谢,尼克。我曲解了文件,实际上把括号放在了论点中。排除这些错误就可以阻止错误了。啊,就是这样!非常感谢你,奥菲恩。这正是我想要的。嗨@Betastate如果你对Ophion的回答感到满意,那么将这个问题标记为已回答是很好的礼仪。你可以勾选问题旁边的勾号。我很抱歉,@NickPerkins。我也是这种论坛的新手。谢谢你的信息。啊,就是这样!非常感谢你,奥菲恩。这正是我想要的。嗨@Betastate如果你对Ophion的回答感到满意,那么将这个问题标记为已回答是很好的礼仪。你可以勾选问题旁边的勾号。我很抱歉,@NickPerkins。我也是这种论坛的新手。感谢您提供的信息。“关于第1天的知识,您已经非常了解python的概念了。”谢谢,海尔。我确实有一点C语言的经验。这一知识对于理解基本的格式、语法等都有一定的帮助。它不是完全类似的,但它给了我一些可以使用的东西。当他们说Python比C族语言简单得多时,他们并不是在开玩笑。“就第一天的知识而言,你对Python的概念理解得很好。”谢谢,海尔。我确实有一点C语言的经验。这一知识对于理解基本的格式、语法等都有一定的帮助。它不是完全类似的,但它给了我一些可以使用的东西。他们说Python比C族语言简单得多,这不是开玩笑。