我的目标是创建一个将度数转换为弧度的程序。公式是(度* 3.14)/ 180.但是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()
编辑:谢谢大家的帮助!
答案 0 :(得分:8)
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
答案 1 :(得分:2)
float()
不会修改其参数,而是将其作为float
返回。我怀疑你想要的是什么(还习惯于添加标准的__name__
约定):
def main():
degrees = raw_input("Enter your degrees: ")
degrees = float(degrees)
degrees = (degrees * 3.14) / 180
if __name__ == '__main__':
main()