admin管理员组

文章数量:1794759

python进阶练习题:8个方块益智【难度:2级】

python进阶练习题:8个方块益智【难度:2级】

python进阶练习题:8个方块益智【难度:2级】:

在下面的方块:

安排数字1至8中的平方,从而使得没有两个连续的整数彼此接触在其一侧或角落.

例如:

[_],[A],[B],[_], [C],[d],[E],[F], [_],[G],[H],[_]

如果我们设置单元格A 是** 2 .小区B,C,d * 和 E不能是* 3 **.

如果我们设置单元格d 是** 4 .小区A,B,C,E,G * 和 H不能* 5 **.

没有数字可以重复.

有4个答案了这个难题.你必须找到它们中的至少一个.

功能** ** puzzle_answer应返回一个元组* * 有* 大小8 * 和数字应该在顺序*(A,B,C,d,E,F,G,H)*.

提示:你应该能够堆叠8范围(1,9)来回答这个问题,但会占用大量的内存.你怎么能减少内存使用情况?

模板功能只是给一个良好的开端,你可以在任何你喜欢的形式解决这个问题.如果可能的话没有谷歌的答案,或者返回一个硬编码的答案,告诉你如何来到这个答案.

编程目标: def check_if_valid(a, b, c, d, e, f, g, h): if a == 1: if b == 2: return False if d == 4: if a == 5 or b == 5 or c == 5 or g == 5 or h == 5: return False # happy coding def puzzle_answer(): answer = () for A in range(1, 9): for D in range(1, 9): for E in range(1, 9): for F in range(1, 9): for G in range(1, 9): for H in range(1, 9): if check_if_valid(A, B, C, D, E, F, G, H): answer = (A, B, C, D, E, F, G, H) 测试样例: # TODO: Replace examples and use TDD development by writing your own tests # These are some of the methods available: # test.expect(boolean, [optional] message) # test.assert_equals(actual, expected, [optional] message) # test.assert_not_equals(actual, expected, [optional] message) # You can use Test.describe and Test.it to write BDD style test groupings 最佳答案(多种解法):

点击查看答案

更多关联题目:

python基础练习题:年龄天数【难度:1级】–景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶 python进阶练习题:数组和相关值的排列【难度:2级】–景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶 python基础练习题:reverseIt【难度:1级】–景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

免责申明

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢 题目收集至www.codewars/ www.codewars/kata/8-squares-puzzle

本文标签: 进阶练习题方块难度Python