1

変数値に基づいて Web サイトの xhtml テーブルを作成する python プログラムを作成しています。

次の 2 つのコードを見てください。2 つ目は機能しません。

rows = int(input('How many rows would you like? '))
for i in range(rows):
    print 'lol'

rows = raw_input('How many rows would you like? ')
int(rows)
for i in range(rows):
    print 'lol'

変数が整数に変更されていることを適切に述べたにもかかわらず、関数がこれを受け入れず、整数として扱わrowsないのはなぜですか?range

4

2 に答える 2

4

行変数が整数に変更されていることを適切に述べました

いいえ、行は整数に変更されていません。に適用するだけint(rows)ではオブジェクトはにrows変わりません。しかし、それはオブジェクトを返します。strrowsintinteger

戻り値を変数に格納して使用する必要があります。または、関数で直接使用しrangeます。

int(rows)
for i in range(rows):  // rows used here is still a string

上記のコードは次のようになります: -

for i in range(int(rows)):
于 2012-11-24T15:16:54.980 に答える
0

int()メソッドはin-placeを変更しません。代わりに、パラメーター (行) を変更せずに、指定したパラメーターの変更されたコピーを返します。

>>> rows = "45"
>>> i_rows = int(rows)
>>> type(rows)
<type 'str'>
>>> type(i_rows)
<type 'int'>

コード フラグメントの 6行目のように単にint(rows)と入力すると、結果がスタックに返されます。対話型シェルを使用している場合は、すぐにターミナルに出力されます。

于 2012-11-24T16:10:34.410 に答える