Langton Ant 시뮬레이터의 배경을 코딩하고 있습니다. 그러나 문제는 자체적으로 문제에 대한 지식이 필요하지 않으므로 걱정하지 마십시오.기능이 원하는대로 출력되지 않거나 예상대로 출력되지 않습니다.
유용한 정보가 포함됩니다 : 변수 '그리드'항상 같은 목록의 일부 목록에 해당 또한
grid = [['black', 'black'], ['white', 'black'],['black', 'white']]
을, 나는 다음이 사전에 이미 정의 :
Dict_White= {'North':'East','East':'South','South':'West','West':'North'}
Dict_Black= {'North':'West','West':'South','South':'East','East':'North'}
def orientation_and_colour_change(ant_row,ant_col,orientation):
if grid[ant_row][ant_col]=='Black':
grid[ant_row][ant_col]='White'
orientation=Dict_Black[orientation]
elif grid[ant_row][ant_col]=='White':
grid[ant_row][ant_col]='Black'
orientation=Dict_White[orientation]
return orientation
그것은 의도 무엇을 꽤 분명이 나를 귀찮게하는 기능입니다 그리드 내의 '위치'와 '방향'을 가져 와서 새 방향을 출력하는 기능의 사용은 본질적으로 사전의 키 값입니다. 또한 모눈 항목 중 하나를 조정해야합니다 (예 : '검은 색'에서 '흰색'또는 '흰색'에서 '검은 색'으로). 그러나 내가 겪고있는 문제는 다음과 같습니다.
방향 반환 값은 항상 입력 값과 동일하며 입력 키가 아닌 사전 값을 반환하는 함수를 통해 명확하게 전달되지 않습니다.
둘째, 함수는 미리 정의 된 표를 예상대로 편집하지 않습니다.
이러한 문제가 발생하는 이유는 무엇입니까?
편집 : 간단한 대문자 대 비 대문자 불평등 문제였습니다. 위의 내용을 편집자의 과실의 증거로 남겨 둘 것입니다. 건배 피터 DeGlopper!
인가? 그렇다면 대소 문자가 일치하지 않습니다. '격자'정의에서 '검은 색'과 함수에서 '검은 색'에 대한 평등 테스트가 있습니다. 'if' 조건을 만족하지 않으므로 아무 변화도 일어나지 않고'orientation'도 변하지 않습니다. –
Wooooow! 고쳐 줬어! 결국 그것은 대문자 문제 일뿐입니다. 고마워! :) –