0
파이썬의 기본적인 컴퓨터 과학 수업에서는 파일을 읽고, 파일을 돼지 라틴어로 번역하고, 번역을 새 파일에 쓰고, 번역 된 줄 수와 단어 수를 계산하는 프로그램을 작성 중입니다.두 가지 기능으로 나누는 방법은 무엇입니까?
file_path = raw_input("Enter a file pathway: ")
f_input = file(file_path, "r")
f_output = file("pig_output.txt","w")
vowels = ("a","e","i","o","u","A","E","I","O","U")
def piglat_trans():
line_count = 0
word_count = 0
for line in f_input:
words = line.split(" ")
pig_line = ""
line_count += 1
for word in words:
word = word.strip("\n")
word_count += 1
if word[0] in vowels:
pig_word = word + "way"
elif word[0] not in vowels and word[1] not in vowels and len(word)>1:
pig_word = word [2:len(word)] + word[0] + word[1] + "ay"
else:
pig_word = word[1:len(word)] + word[0] + "ay"
pig_line += pig_word + " "
f_output.write(pig_line + "\n")
print "Translation finished and written pig_output.txt"
print "A total of " + str(line_count) + " lines were translated successfully."
print "A total of " + str(word_count) + " words were translated successfully."
piglat_trans()
f_input.close()
f_output.close()
프로그램은 잘 작동하지만 번역기 자체에서 줄/단어 개수와 인쇄 부분을 구분해야합니다. 어떻게하면 좋을까요?
도움 주셔서 감사합니다. ** 편집 : 또한 내가 번역에 공백과 탭에 문제가있다 그리고 그것을 반환
line 25, in piglat_trans if word[0] in vowels:
IndexError: string index out of range
을 마지막 오류의 경우, 고려' '는 b'.split ("")''[돌아갑니다', '', 'A'를 B가 ']'; 당신은 아마도'.split()'그냥 인자가 필요 없을 것이다. – o11c