作者newsted5566 (NEWSTED5566(乱劣我文))
看板Python
标题[范例] 关於反三角函数的计算
时间Fri Jul 26 12:31:12 2013
各位大大以下是我写的code
import math
print "HI!! WELCOME"
name = raw_input('What is your rate?\n')
print "Wait for it!!!!! It's gonna be..."
a = float(name)
b = math.asin(a)
d = math.pi
c = b * 180 //d
print c
但是我在执行时,输入0.5
理应他回传的值应该是30
但是他却回传29...
请问这有办法解吗??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.95.170
1F:→ ken1325:我执行你的程式码,是回传30。 07/26 12:40
2F:→ newsted5566:我的电脑是mac 07/26 13:33
3F:→ howardxu:// 改成 / 就对了 为什麽要用//? 07/26 14:31
4F:→ darkgerm:电脑计算误差,无解,小数转整数的话一定要用 round() 07/26 14:42
5F:→ darkgerm:round() 才会做四舍五入,用 int() 或 // 除出来都是 07/26 14:43
6F:→ darkgerm:无条件舍去,即使是 29.99999999 也会变 29 07/26 14:44
7F:→ darkgerm:所以用 round 就是 c = int(round(b*180 / d)) 07/26 14:45
8F:→ buganini://是python3的东西 07/26 16:55
9F:→ buganini:不对,应该说int/int在python3不会无条件舍去 07/26 16:57
10F:→ elleryq:要不要乾脆用 decimal module? 07/27 04:47