0

Python 2.7でこの厄介な問題が発生しています。これを行うことはできません

numbers = raw_input(numbers + 1 + ': ')

「numbers + 1」をコンソールに数字として出力したいのですが..次のエラーメッセージが表示されます。

Traceback (most recent call last):
  File "F:/Python/Conversation", line 25, in <module>
    numbers = raw_input(numbers + 1 + ': ')
TypeError: unsupported operand type(s) for +: 'int' and 'str'

これの代わりに使用できる解決策または別のものはありますか? 前もって感謝します!

4

3 に答える 3

2

一重引用符または二重引用符の中に+andを入れる必要があります。numbersそうしないと、文字列連結として扱われます。で連結/追加しようとしたため、エラーが発生numbersしました1

そのため、 str( )1を使用して文字列にキャストする必要があります。次に、それをand 'で連結します。そのようです:'numbers + '':

>>> numbers = raw_input('numbers + ' + str(1) + ': ')
numbers + 1: 

ただし、数字で置き換えたい場合numbers

>>> numbers = 3
>>> numbers = raw_input(str(numbers + 1) + ': ')
4:

numbersの値を1最初に追加するため、機能します。次に、後で結果を文字列にキャストします。

于 2013-04-22T17:32:11.197 に答える
2

エラー メッセージが示すように、数値と文字列を追加することはできません。2 つの文字列を追加できるので、これを試してください。

raw_input( str(numbers+1) + ':' )
于 2013-04-22T17:33:13.740 に答える
0

1int 値を文字列に変換する必要があります。

numbers = raw_input(numbers + str(1) + ': ')

または、文字列フォーマットを使用します。

numbers = raw_input('{}{}: '.format(numbers, 1))

numbersまたは、int最初に変換してから、結果を文字列に変換したい場合もあります。

sum = int(numbers) + 1
numbers = raw_input(str(sum) + ': ')
于 2013-04-22T17:29:51.150 に答える