1

2 つの変数を乗算したいのですが、これらは生の入力ですが、常にそのエラーが発生します。

no1 = raw_input('Your first number')
no2 = raw_input('Your second number')

answer = no1 * no2
4

2 に答える 2

1

raw_input文字列を返し、最初に整数または浮動小数点数に変換して数値演算を実行します。

no1 = float(raw_input('Your first number'))
no2 = float(raw_input('Your second number'))

py2.x ではinput、入力文字列を自動的に数値に変換する if も使用できます。ただし、入力元が不明な場合は安全ではありません。

ヘルプ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)).
于 2013-07-07T21:37:10.873 に答える
0

float2 つの文字列を乗算しようとしているため、結果に対して関数を呼び出して手動で浮動小数点数に変換する必要がありますraw_input

Python 2inputでは、代わりに function を使用することもできますraw_input- 自動的に実行されます。

警告- この関数は完全に安全ではありません - 入力文字列を Python コードとして実行します (関数と同じ方法でeval)。ユーザーを信頼しない限り、使用しないでください

于 2013-07-07T21:38:26.650 に答える