问题:实现以下伪代码以在屏幕上绘制方格标志。在
1. Ask the user for the size of the checkered flag (n).
2. Draw an n x n grid to the screen.
3. For i = 0,2,4,...,62:
4. row = i // n
5. offset = row % 2
6. col = (i % n) + offset
请复制并粘贴链接参见输出:http://www.awesomescreenshot.com/image/45977/12eaef67de44c2b291ecd47fe8d10135
我实现了伪代码,但我需要一些帮助。我一直收到这个错误:row, col = findGrid(x)
TypeError: 'int' object is not iterable
我的计划:
^{pr2}$
如果要
return
两个值,则必须以某种方式组合它们。如果您这样做:程序将}就是这样做的。第一个
^{pr2}$return
处理row
,然后退出函数,因为{return
之后不会执行任何操作。试试这个:返回的值将是
tuple
,这正是您需要执行的row, col = findGrid(x)
,如main()
中所示。不是对单个int
求值,findGrid(x)
将取而代之的是包含两个int
的tuple
,Python可以迭代该tuple
,将每个值放入指定的变量row
和col
。在Python解释器生成的错误消息通常非常有用。在本例中,当它说
int object is not iterable
时,您可以打赌它试图迭代一个int
,但失败是可以理解的。然后,您所要做的就是推断出有问题的错误语句在哪里寻找iterable,找出是什么产生了有问题的表达式(findGrid(x)
),并检查它是否返回int
或iterable。在相关问题 更多 >
编程相关推荐