输入()的Python 3错误

时间:2017-03-22 19:50:59

标签: python python-3.x input

我正在尝试使用以下方法执行SPOJ问题并获取测试用例的数量:

tc = int(input())

但是,在运行我的代码时,我从该行收到“非零退出代码”错误。这是完整的代码:

def is_on_edge(row, col, rows, cols):
    is_top = row == 0
    is_left = col == 0
    is_right = (col == cols - 1)
    is_bottom = (row == rows - 1)
    return is_top or is_left or is_right or is_bottom

tc = int(input())

for i in range(tc):
    rows, cols = map(int, input().split())
    for r in rows:
        for c in cols:
            if is_on_edge(r, c, rows, cols):
                print("*", end="")
            else:
                print(".", end="")
    print("")

知道我做错了什么吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

rows, cols = map(int, input().split())

使行和列成为整数

for r in rows:
    for c in cols:

尝试迭代整数,这会引发异常。在上面改为

之后
for r in range(rows):
    for c in range(cols):

代码在Win10,3.6上毫无例外地运行。