list 활용하여 보물찾기 지도 만들기
line1 = ["⬜️","️⬜️","️⬜️"]
line2 = ["⬜️","⬜️","️⬜️"]
line3 = ["⬜️️","⬜️️","⬜️️"]
map = [line1, line2, line3]
print("Hiding your treasure! X marks the spot.")
position = input() # Where do you want to put the treasure?
# 🚨 Don't change the code above 👆
# Write your code below this row 👇
col_letter = position[0].upper()
row_number = int(position[1]) - 1
col_index = ord(col_letter) - ord('A') # 열을 숫자로 변환
map[row_number][col_index] = "X"
# Write your code above this row 👆
# 🚨 Don't change the code below 👇
print(f"{line1}\n{line2}\n{line3}")
많이 헤맨 문제입니다.
우선 행과 열이 영어로 헷갈렸고,
리스트에서 출발점이 0이기 때문에 항상 1을 빼야 한다는 것을 숙지하지 못했고,
문자의 유니코드 포인트 값에 따라 문자를 숫자로 변환하는 것을 가르쳐주지 않았기 때문에 이 간단해 보이는 문제 푸는 데 4일 걸렸습니다.
저자는 ord 쓰지 않고 하는 방법을 보여줍니다.
즉 위 코드에서 소문자 리스트를 하나 더 만들어서 index로 정수 변환하네요.
col_letter = position[0]
abc = ["a", "b", "c"]
col_index = abc.index(col_letter)
row_number = int(position[1]) - 1
map[row_number][col_index] = "X"
챗지피티에게 index의 예를 몇 가지 달라고 했습니다.
# Example 1:
my_list = ['a', 'b', 'c', 'd', 'e']
index_of_c = my_list.index('c')
print(index_of_c) # Output: 2
# Example 2:
my_list = ['apple', 'banana', 'cherry', 'banana']
index_of_banana = my_list.index('banana')
print(index_of_banana) # Output: 1 (첫 번째로 발견된 'banana'의 인덱스)
# Example 3:
my_list = [10, 20, 30, 40, 50]
index_of_25 = my_list.index(25) # ValueError: 25 not in list
참고
100 Days of Code: The Complete Python Pro Bootcamp
51 of 653 complete.
공유하기
조회수 : 475