2014-04-21 4 views
0

이 질문에 대한 답변이 이미 필요하다면 나는 지난 질문을 거쳐 대답을 찾을 수 없을 것입니다. 나는 파이썬에서도 상당히 새로운 것이다.str을 사용하여 int 변수를 함수로 변환 할 때 str 객체를 호출 할 수 없음

내가하려는 것은 출력 파일에 단어와 r 및 c 변수를 쓰되 단어와 변수 사이의 공백으로 서식을 지정하는 것입니다 (형식은 목록의 가장 긴 단어입니다. -보고있는 단어).

다음
Traceback (most recent call last): 
File "C:\CS303E\WordSearch.py", line 106, in <module> 
    main() 
File "C:\CS303E\WordSearch.py", line 84, in main 
    output.write(list_of_words[i]+spaces+str(row_variable)+str(column_variable)) 
TypeError: 'str' object is not callable 

내 코드입니다 :

나는이 시도했다, 그러나 그것은 "호출하지 STR 객체"여기

row_variable = str(r) 

와 함께 제공 내가 그것을 시도 할 때 역 추적입니다

# Find longest word in list of words 
max_length = 0 
for i in list_of_words: 
    if len(i) > max_length: 
    max_length = len(i) 
# Open output file found.txt 
output = open('found.txt','w') 

# Check for list of words 
for i in range(len(list_of_words)): 
    flag = False 
    for j in range(len(rows)): 
    if list_of_words[i] in rows[j]: 
     r = j + 1 
     c = rows[j].find(list_of_words[i]) + 1 
     num_spaces = max_length - len(list_of_words[i]) 
     spaces = ' ' * num_spaces 
     output.write(list_of_words[i]) 
     flag = True 
    for j in range(len(rev_rows)): 
    if list_of_words[i] in rev_rows[j]: 
     r = j + 1 
     c = num_col - rev_rows[j].find(list_of_words[i]) 
     print(list_of_words[i], r, c) 
     flag = True 
    for j in range(len(columns)): 
    if list_of_words[i] in columns[j]: 
     r = j + 1 
     c = columns[j].find(list_of_words[i]) + 1 
     print(list_of_words[i], c, r) 
     flag = True 
    for j in range(len(rev_columns)): 
    if list_of_words[i] in rev_columns[j]: 
     r = j + 1 
     c = num_col - rev_rows[j].find(list_of_words[i]) 
     print(list_of_words[i], c, r) 
     flag = True 
    if flag != True: 
    print (list_of_words[i],0,0) 
+0

그리고 언어가 맞습니까? ('string' 태그에 관심이있는 사람은 거의 없으며 적절하게 태그를 지정하지 않으면 구문 강조 기능이 작동하지 않습니다.) 나에게 파이썬이 보인다. – Deduplicator

+0

파이썬은 미안하지만 모든 파이썬 웹 사이트라고 생각했습니다. 그것을 지적 주셔서 감사합니다. – user3557908

+0

누군가가'builtins.str' 어딘가에 악의적으로 할당하지 않으면 당신이'str = .. '을 대체 한 장소에 대해'WordSearch.py' 파일을 검색합니다. – jfs

답변

11

코드에 (여기에 게시 한 부분이 아님)을 사용했습니다. 210은 문자열입니다. str은 이제 해당 문자열이며 내장 문자열 유형이 아닙니다. 파이썬이 함수 나 타입 인 것처럼 문자열을 호출하려고 시도하고 있습니다. 파이썬이 당신을 호출하고 있습니다.

이 문제를 방지하려면 문자열의 이름을 str으로 지정하지 마십시오.

+0

나는 그것이 내가 방해 할 것이라고 생각하지는 않았지만 그것을했다고 생각한다. 고맙습니다. – user3557908

+0

'str'과 같이 쓸데없는 것을 호출해야한다면'str_' 또는'_str'을 사용할 수 있습니다. – SethMMorton

+0

개인적으로 나는'str' 대신'text' 변수를 호출하는 것을 좋아합니다. – kindall

관련 문제