Ich muss eine Python-Datei erstellen, die den Benutzer nach einem Dateipfad zu einem Textdokument fragt und ihn dann in Pig Latin konvertiert und eine Zeilen-/Wortzählung durchführt.Python Pig Lateinischer Konverter und Zeilen-/Wort-Zähler
• A function to generate the pig Latin version of a single word
• A function to print line and word counts to standard output
• Correct pig Latin output with identical formatting as the original text file
• Correct line and word counts
Ich kann nicht herausfinden, warum das Schwein lateinisch falsch herauskommt. Mein Lehrer sagte, dass ich noch eine string.strip("\n")
brauche, weil es die Wörter falsch konvertiert, aber ich habe keine Ahnung, wo ich das hinstellen soll.
Auch mein Zeilenzähler ist kaputt. Es zählt aber sagt immer 222 Zeilen.
Wie kann ich nur die Zeilen mit Worten zählen?
#Step 1: User enters text file.
#Step 2: Pig Latin function rewrites file and saves as .txt.
#Step 3: Tracks how many lines and words it rewrites.
vowels = ("A", "a", "E", "e", "I", "i", "O", "o", "U", "u")
# Functions
def pig_word(string):
line = string.strip("\n")
for word in string.split(" "):
first_letter = word[0]
if first_letter in vowels:
return word + "way"
else:
return word[1:] + first_letter + "ay"
def pig_sentence(sentence):
word_list = sentence.split(" ")
convert = " "
for word in word_list:
convert = convert + pig_word(word)
convert = convert + " "
return convert
def line_counter(s):
line_count = 0
for line in s:
line_count += 1
return line_count
def word_counter(line):
word_count = 0
list_of_words = line.split()
word_count += len(list_of_words)
return word_count
# File path conversion
text = raw_input("Enter the path of a text file: ")
file_path = open(text, "r")
out_file = open("pig_output.txt", "w")
s = file_path.read()
pig = pig_sentence(s)
out_file.write(pig+" ")
out_file.write("\n")
linecount = line_counter(s)
wordcount = word_counter(s)
file_path.close()
out_file.close()
# Results
print "\n\n\n\nTranslation finished and written to pig_output.txt"
print "A total of {} lines were translated successfully.".format(linecount)
print "A total of {} words were translated successfully.".format(wordcount)
print "\n\n\n\n"
Vielen Dank !! Die Zähler funktionieren jetzt, aber als ich den pig_sentence-Teil hinzugefügt habe, um meine beiden Funktionen zu ändern, erhalte ich einen TypeError: "str" - und "list" -Objekte können nicht verkettet werden. Wie behebe ich diesen Fehler? – Roxy
Welche Funktionen haben Sie zur Zeit? – Signal