私はPython2.7に非常に慣れていません(Day 1 newのように)。学習演習として、簡単なMilsからDegreesへの変換プログラムを作成しようとしています。プログラムは、ユーザーに度からミルへの変換、またはその逆の変換を選択するように求め、次に値を求めます。それに応じて除算または乗算し、変換された回答を出力します。ここで問題が発生します。変換された回答は、正確な浮動小数点数として返されるべきではありません。たとえば、ユーザーが6400ミルを入力した場合、プログラムは359.955度ではなく、360度(1度= 17.78ミル)を返すようにします。ラウンド関数についての私の(限定された)理解は、floatと精度のレベルを受け入れますが、変数を受け入れないということです。合計をround()に渡すにはどうすればよいですか?
ご意見をいただければ幸いです。
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