728x90
반응형
data = input()
first = data[0]
second = int(data[1])
count = 0
if 'a'<=first+1<='h' and 1<=second+2<=8 :
count += 1
if a<=first+1<=h and 1<=second-2<=8 :
count += 1
if a<=first-1<=h and 1<=second+2<=8 :
count += 1
if a<=first-1<=h and 1<=second-2<=8 :
count += 1
if a<=first+2<=h and 1<=second+1<=8 :
count += 1
if a<=first+2<=h and 1<=second-1<=8 :
count += 1
if a<=first-2<=h and 1<=second+1<=8 :
count += 1
if a<=first-2<=h and 1<=second-1<=8 :
count += 1
print(count)
에서
TypeError: can only concatenate str (not "int") to str
라는 오류가 발생했다. 문자끼리만 비교해달라는 것 같다. 그냥 바로 비교해주는게 아니라 ord(")로 바꿔서 변형해주어야 한다!
data = input()
first = str(data[0])
second = int(data[1])
count = 0
if ord('a')<=ord(first)+1<=ord('h') and 1<=second+2<=8 :
count += 1
if ord('a')<=ord(first)+1<=ord('h') and 1<=second-2<=8 :
count += 1
if ord('a')<=ord(first)-1<=ord('h') and 1<=second+2<=8 :
count += 1
if ord('a')<=ord(first)-1<=ord('h') and 1<=second-2<=8 :
count += 1
if ord('a')<=ord(first)+2<=ord('h') and 1<=second+1<=8 :
count += 1
if ord('a')<=ord(first)+2<=ord('h') and 1<=second-1<=8 :
count += 1
if ord('a')<=ord(first)-2<=ord('h') and 1<=second+1<=8 :
count += 1
if ord('a')<=ord(first)-2<=ord('h') and 1<=second-1<=8 :
count += 1
print(count)
해결!
728x90
반응형
'오류를 고쳐라!' 카테고리의 다른 글
TypeError: 'list' object cannot be interpreted as an integer 해결 (0) | 2023.06.14 |
---|---|
TypeError: 'str' object does not support item assignment (0) | 2023.06.13 |
ZeroDivisionError: integer division or modulo by zero 해결 (0) | 2023.06.13 |
Type Error: list indices must be integers or slices, not tuple (0) | 2023.06.06 |