-2

Python で 20 個の変数を作成する必要があります。その変数はすべて必要であり、最初は空の文字列である必要があり、空の文字列は後で他の文字列に置き換えられます。変数がまだ空であるか、他の文字列と既に等しいかどうかを確認する必要がある if/else ステートメントもいくつかあるため、必要なときに必要に応じて変数を作成することはできません。

書く代わりに

variable_a = ''
variable_b = ''
....

みたいなことを考えた

list = ['a', 'b']
for item in list:
    exec("'variable_'+item+' = '''")

このコードはエラーにはなりませんが、期待どおりの動作をしません。変数は「variable_1」などの名前で作成されません。

私の間違いはどこですか?

ありがとう、ウッドピッカー

4

3 に答える 3

10

私の間違いはどこにありますか?

おそらく3つの間違いがあります。1つ目は、'variable_' + 'a'明らかに。と等しくないということ'variable_1'です。2つ目は、への引数の引用execです。行う

for x in list:
    exec("variable_%s = ''" % x)

取得するvariable_aなど。

3番目の間違いは、listまたはdictを使用していないことです。ただやる

variable = dict((x, '') for x in list)

次に、「変数」の内容を。で取得avariable['a']ます。言語と戦わないでください。これを使って。

于 2011-07-13T12:11:15.540 に答える
-2

(リストやハッシュを使用しないという) 他のユーザーと同じ質問がありますが、必要な場合は、これを試すことができます。

for i in xrange(1,20):
    locals()['variable_%s' %i] = ''

ローカルスコープでこれが必要になるだけだと思います。ローカルの詳細については、マニュアルを参照してください

于 2011-07-13T12:16:24.487 に答える
-2

使用したことはありませんが、次のようなものが機能する可能性があります。

liste = ['a', 'b']
for item in liste:
    locals()[item] = ''
于 2011-07-13T12:16:27.487 に答える