我正在创建一个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
函数不接受这一点,并将其视为整数?
我已经正确地指出行变量正在更改为 整数
否,行未更改为整数。仅对rows
应用int(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)):
int() 方法不会就地修改。相反,它会返回您指定的参数的修改副本,使参数(行)保持不变。
>>> rows = "45"
>>> i_rows = int(rows)
>>> type(rows)
<type 'str'>
>>> type(i_rows)
<type 'int'>
当您只需键入代码片段第 6 行中的 int(rows) 时,结果将返回到堆栈,或者,如果您使用的是交互式 shell,则它会立即输出到终端。