请参阅Python For循环和数据类型说明

时间:2012-11-24 15:15:53

标签: python string for-loop int user-input

我正在创建一个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函数不接受这个,并将其视为整数?

2 个答案:

答案 0 :(得分:4)

  

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

,行未更改为整数。仅在int(rows)上应用rows不会将str对象rows更改为int。但它返回一个integer对象。

您需要将返回值存储在变量中,然后使用它。或者,直接在range函数中使用它。

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

以上代码应为: -

for i in range(int(rows)):

答案 1 :(得分:0)

int()方法不会修改就地。相反,它返回您指定的参数的修改副本,保持参数(行)不变。

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

当您只是在代码片段的第6行中键入 int(rows)时,结果将返回到堆栈,或者,如果您使用的是interactive shell,那么立即输出到终端。