类型错误需要浮点数,Python错误

时间:2015-04-07 23:03:29

标签: python

出了什么问题???

from random import randint

from math import sin

from math import cos

from decimal import Decimal

gravity = 32

target = randint(1,5280)

print("Your target is " + str(target))

velocity = raw_input("Enter what velocity: ")

angle = raw_input("Enter what angle: ")

time = (2 * (velocity(sin(angle)))/gravity)

distance = (velocity(cos(angle))*time)

print(str(time))

2 个答案:

答案 0 :(得分:4)

你需要施放到花车:

angle = float(raw_input("Enter what angle: ")) # same for velocity

答案 1 :(得分:0)

您遇到的错误是该角度应该是一个浮点数,但您可以从raw_input获取它,顾名思义,它返回原始输入,即字符串。由于您假设输入是一个正确的浮点整数,您可以继续使用

eval(raw_input("prompt"))

这两个数字。然后你遇到第二个问题,就是那个问题  velocity(sin(angle))

将速度视为一个函数,它不是将它定义为浮点数,如果你想使用一个函数,请确保使用不同的名称,如果你想乘以它你应该使用 velocity*whatever

快速说明: 如果你让任何人输入输入,eval()会非常危险,因为它将输入解释为python代码,所以要小心它