我正在创建一个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
函数不接受这个,并将其视为整数?
答案 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,那么立即输出到终端。