我想将两个变量相乘。它们是原始输入但它总是给我这个错误。
no1 = raw_input('Your first number')
no2 = raw_input('Your second number')
answer = no1 * no2
答案 0 :(得分:1)
raw_input
返回一个字符串,首先将它们转换为整数或浮点数以执行数值运算。
no1 = float(raw_input('Your first number'))
no2 = float(raw_input('Your second number'))
在py2.x上你也可以使用input
,如果它会自动将输入字符串转换为a
数。但如果不知道输入来源,那就不安全了。
raw_input
上的帮助:
>>> print raw_input.__doc__
raw_input([prompt]) -> string
Read a string from standard input. The trailing newline is stripped.
If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError.
On Unix, GNU readline is used if enabled. The prompt string, if given,
is printed without a trailing newline before reading.
input
上的帮助:
>>> print input.__doc__
input([prompt]) -> value
Equivalent to eval(raw_input(prompt)).
答案 1 :(得分:0)
您正在尝试将2个字符串相乘,因此您需要通过调用float
结果上的raw_input
函数将它们手动转换为浮点数。
在python 2中,你也可以使用input
函数而不是raw_input
- 它会自动执行。
警告 - 此函数完全不安全 - 它将输入字符串作为python代码执行(与eval
函数的方式相同)。除非您信任用户,否则不要使用它