이 질문은 매우 유감이지만 코딩 기술은 그리 좋지 않으므로 해결할 수 없습니다. 문제 : 눈금이 5 * 5이고 작업은의 최소 수인 을 찾거나 특별한 방법으로 "1"을 결정하는 것입니다. 매 3 * 3 평방 큰 사각형, 정확히 4 "표시 등"이어야합니다. 펜으로 계산하면 최소 숫자는 7입니다 (대답은 맞습니다). 그래서 내 솔루션은 다음과 같습니다5 * 5 그리드, 그리드의 매 3 * 3 사각형은 반드시 4 "불빛"이어야합니다.
예상대로#creates a list
grid = []
#creates lines
for row in range(5):
grid.append([])
#creates columns
for column in range(5):
grid[row].append(0)
#one "light" must be in a center
grid[2][2] = 1
#this array counts all "lights" and will notice when there are 4 of them
light_number = []
def counter():
for row in range(0, 3):
for column in range(0, 3):
if grid[row][column] == 1:
light_number.append(1)
print(len(light_number))
는 counter()
첫 번째 작은 3 * 3 평방 작동합니다. 그 그리드 [행] [열] == 말,
def counter():
#initial range of the counter
row_min = 0
row_max = 3
column_min = 0
column_max = 3
for i in range(9):
for row in range(row_min, row_max):
for column in range(column_min, column_max):
if grid[row][column] == 1:
#write it in a list
light_number.append(1)
column_min += 1
column_max += 1
row_min += 1
row_max += 1
#print a number of total lights
print(len(light_number))
그러나 그것은 작동하지 않습니다 : "빛"이 아닌 구를 검색하기위한 하나의 기능을 가지고 싶은, I`ve는 다음과 같이 작성 시도 1은 이며 범위는입니다.
그래서, 문제는 다음과 같습니다
- 내가 자동으로 3 * 3
- 내가 모르는 모든 작은 사각형을 볼 수있는 카운터 작업 쓸 수의 모든 조합을 작성하는 방법 " 등".
아무 생각이 있으시면 알려주세요. 또 다른 해결책이 될 수 있다고 생각한다면 제발, 또한 말하십시오. 미리 감사드립니다.
목록의 예와 출력물을 제공 할 수 있습니까? 5 * 5 그립이 어떻게 보이는지, 그리고 그로부터 얻고 자하는 것이 무엇인지 알 수 있습니다. –
해결에 유용합니다 각 행에 대해 column_min/max를 다시 설정해야합니다. 두 번째 행에서 사각형 1-3을 요구합니다. 4-6 분명히 범위를 벗어납니다 – user3012759
색인이 잘못되었습니다. 3 열 또는 3 행을 반복하려면 인덱스 "0"에서 시작하여 인덱스 "2"다음에 끝나야합니다. 다섯 개의 열/행을 반복하려는 경우 마지막 색인은 "4"여야합니다. – afeldspar