在python中浮动字符串时遇到问题
我的目标是创建一个将度数转换为弧度的程序。其计算公式为(度* 3.14)/ 180但是Python不断给我这个错误:在python中浮动字符串时遇到问题
Traceback (most recent call last):
File "2.py", line 6, in <module>
main()
File "2.py", line 4, in main
degrees = (degrees * 3.14)/180
TypeError: can't multiply sequence by non-int of type 'float'
从这个代码:
def main():
degrees = raw_input("Enter your degrees: ")
float(degrees)
degrees = (degrees * 3.14)/180
main()
编辑:谢谢大家的帮助!
float(degrees)
什么也没做。或者,它可以从字符串输入角度生成一个浮点数,但不会放在任何位置,所以度数保持字符串。这就是TypeError所说的:你要求它将数字乘以3.14。
degrees = float(degrees)
会做到这一点。
顺便说一下,已经有功能的数学模块中的角度和弧度之间转换:
>>> from math import degrees, radians, pi
>>> radians(45)
0.7853981633974483
>>> degrees(radians(45))
45.0
>>> degrees(pi/2)
90.0
float()
不会修改它的参数,它返回它作为一个float
。我怀疑你想要的(也加入标准__name__
约定出于习惯)什么:
def main():
degrees = raw_input("Enter your degrees: ")
degrees = float(degrees)
degrees = (degrees * 3.14)/180
if __name__ == '__main__':
main()
if __name__ =='__main__':main()是做什么的? – netbyte 2012-04-01 01:34:40
@netbyte检查了这一点http://*.com/questions/8228257/what-does-if-name-main-mean-in-python :) – 2012-04-01 01:44:53
我只想补充一点,字符串是不可变的蟒蛇因而对他们的所有操作创建一个新的对象,从来没有修改原始。 – Zenon 2012-04-01 01:29:56
谢谢!是的,我知道,但是我的老师希望我为自己做一个功能。 – netbyte 2012-04-01 01:33:50