TEAMLAB-Lecture / python-101-for-data-science-by-pknu

1 stars 14 forks source link

gowithflow 관련 질문드립니다. #13

Open kimhyeonzi opened 2 years ago

kimhyeonzi commented 2 years ago

image

제가 따로 만든 테스트 파일에서 돌려본 결과 File "exam.py", line 54 result = yes_word += i ^ SyntaxError: invalid syntax

이렇게 뜹니다. element_value를 리스트 값으로 변환시킨 후 for문으로 element_value == list_data 이면 빈문자로 그 수만큼 더하도록 코드를 짠 것인데 어디서 잘못된건가요?

blissray commented 2 years ago
  1. 일단 코드는 이미지가 아닌 text로 붙여주세요.
  2. result = yes_word += i 는 존재하지 않는 문법입니다. 아래와 같이 나눠주세요.
    yes_word += i
    result = yes_word 
kimhyeonzi commented 2 years ago
list_data = [1, 2, 3, 10]
element_value = 1

list_element_value = [element_value]
no_word = "0"
yes_word = ""
for i in list_element_value:
    if i not in list_data:
        result = no_word 
    else :
        yes_word += i
        result = yes_word
print(result)

이렇게 고친 후 다시 돌려보니 Traceback (most recent call last): File "exam.py", line 54, in yes_word += i TypeError: can only concatenate str (not "int") to str 이렇게 뜹니다ㅜ

blissray commented 2 years ago

조금 기초적인 공부가 필요해 보입니다. 에러 메세지에 나오듯이 i 는 int 값이고 result 는 어디서 나온건지 모르겠지만... str은 아닌 거 같습니다. element_value 의 역할이 뭔지도 확인이 필요해보이고요.

list_element_value = [element_value]

이 코드의 역할도 모르겠습니다.

kimhyeonzi commented 2 years ago
#list_data = ['a', 'b', 'c', 'z']
#element_value= 'd'
#list_data = [1, 2, 3, 10]
#element_value = 1
result =None
for element_value in list_data : 
    if element_value in list_data:
        result = list_data.replace("element_value","")

    else : 
        result = 0
print(result)

이렇게 코드를 다시 짜보았는데 Traceback (most recent call last): File "exam.py", line 49, in result = list_data.replace("element_value","") AttributeError: 'list' object has no attribute 'replace'

이렇게 오류가 뜨면 어떻게 고쳐야 하나요?

blissray commented 2 years ago
  1. 일단 list와 str의 차이 등의 공부가 필요해 보입니다. 에러 메세지에 적힌대로 replace str에 사용되는 함수입니다.
  2. list_data.replace("element_value","") 이라는 구문에서 element_value가 어색합니다. 왜 저 값을 따옴표 안에 넣었을까요?

전반적인 이해에 어려움을 겪는걸로 보입니다. 초반부터 공부를 다시할 필요가 있어 보입니다.