1

我正在创建一个 python 程序,它根据变量值为网站创建一个 xhtml 表。

请看以下两个代码。第二个不起作用。

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

我已经正确声明 rows 变量正在更改为整数

,行没有被更改为整数。仅应用int(rows)onrows不会将str对象更改rowsint. 但它返回一个integer对象。

您要么需要将返回值存储在变量中,然后使用它。或者,直接在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()方法不会就地修改。相反,它会返回您指定的参数的修改副本,而保持参数(行)不变。

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

当您在代码片段的第 6 行中简单地键入int(rows)时,结果将返回到堆栈,或者,如果您使用的是交互式 shell,则它会立即输出到终端。

于 2012-11-24T16:10:34.410 回答