首先,如果我的格式不正确,我想道歉。这是我在这个网站上的第一篇文章。我看过其他关于这方面的文章,但似乎没有一篇与我的代码需要如何输出相匹配的文章。我的代码不仅仅是说一个正方形是一个lo-she魔方。我必须显示一个3x3的表,随机数为1-9,它们的所有边都必须等于15。目前我正在尝试设置我的表,并将其与我的代码的其余部分相关联,这将决定正方形是什么。目前我有一个问题,设置表,它不是一个3x3,而是显示一个6x3。再次,我很抱歉没有正确格式化我的帖子。在
def main(): #Parent Function
import random
#****************************************************
square_1 = random.randint(1, 9)
square_2 = random.randint(1, 9)
square_3 = random.randint(1, 9)
square_4 = random.randint(1, 9)
square_5 = random.randint(1, 9)
square_6 = random.randint(1, 9)
square_7 = random.randint(1, 9)
square_8 = random.randint(1, 9)
square_9 = random.randint(1, 9)
Grid_1 = [square_1 ,'\t', square_2 ,'\t', square_3]
Grid_2 = [square_4 ,'\t', square_5 ,'\t', square_6]
Grid_3 = [square_7 ,'\t', square_8 ,'\t', square_9]
for i in range(1):
print (','.join(str(i) for i in Grid_1))
for i in range(2):
print (','.join(str(i) for i in Grid_2))
for i in range(3):
print (','.join(str(i) for i in Grid_3))
main()
分析:
您的代码完全按照您的要求执行:第一行打印一次,第二行打印两次,第三行打印三次。另外,请注意,您使用变量i作为循环索引,但随后mis再次将其用作print语句中的索引。在
立即维修:
完全不要使用这些循环:每行打印一次:
整体维修:
把你的董事会发展成一个3x3嵌套列表(把它想象成一个二维矩阵)。请参阅Ajax1234发布的答案,以获得处理此问题的好方法。有了这个组织,您可以轻松地迭代(运行for循环)行或列,类似于
^{pr2}$算法
您可能会注意到,检测正方形的问题可以采取一些捷径:只有一个神奇的正方形形式;所有这些都是原始形状的旋转/反射。如果您愿意,您可以快速检查:5必须在中心,偶数必须在角落。所有9个数字都必须出现。一旦你保证了这些,你必须做最少的15次检查,我将把代数留给学生。在
一种简单的方法是通过列表理解:
这现在初始化你的董事会作为一个3x3矩阵随机值。在
相关问题 更多 >
编程相关推荐