0

「areaCode、exchange、および lastFour という値が与えられた 3 つの int 変数が与えられた場合、値が単一のハイフン (-) で結合されたこれらの各変数に相当する文字列である文字列式を記述します。したがって、areaCode、exchange、および lastFour が値が 800、555、および 1212 の場合、式の値は "800-555-1212" になります。

これは私のコードですが、なぜ機能しないのか混乱しています...

str("areaCode" + "exchange" + "lastFour")

しかし、ハイフンはどこに置くのでしょうか? 本当にありがとう!

4

5 に答える 5

3
'-'.join([str(num) for num in [areaCode, exchange, lastFour]])
于 2013-03-24T00:42:44.040 に答える
2

まず、変数を正しく取得していません。

areaCode, exchange, lastFour

"areaCode", "exchange", "lastFour"

非常に異なっています。引用符のないバージョンは変数を参照しますが、引用符のあるバージョンはリテラル文字列「areaCode」、「exchange」、および「lastFour」を参照します。

Python インタープリターからの簡単なデモンストレーションとして

文字列リテラル

>>> areaCode = "5555"
>>> print("areaCode")
areaCode

変数

>>> areaCode = "5555"
>>> print(areaCode)
5555



ハイフンについては、試してください

'%s-%s-%s' % (areaCode, exchange, lastFour)
于 2013-03-24T00:40:48.517 に答える
2

"コードを機能させるには、変数から引用符を削除する必要があります。問題は、変数をラップすると、変数ではなくテキストとして扱われることです。引用符を削除してコードを変更するだけで、プログラムを実行できるようになります。

さらに、割り当てに従って"-"、変数の間にハイフンを追加する必要があります。

str(areaCode + "-" + exchange + "-" + lastFour)

コードをきれいにしたい場合は、次のいずれかの方法を使用できます。

"%s-%s-%s" % (areaCode, exchange, lastFour)

また

"{}-{}-{}".format(areaCode, exchange, lastFour)
于 2013-03-24T00:39:54.517 に答える
2
>>> areaCode, exchange, lastFour = 800, 555, 1212
>>> '{0}-{1}-{2}'.format(areaCode, exchange, lastFour)
'800-555-1212'
于 2013-03-24T00:40:13.980 に答える
-1

あなたは次のようなものが欲しいでしょう

areaCode = "555"
exchange = "555"
lastFour = "5555"
phonenumber = "-".join([areaCode, exchange, lastFour])
于 2013-03-24T00:40:02.510 に答える