Така че с помощта на "за" статии разбих текстовия файл в списъците така:
["these", "are", "lines"]
["meant", "to", "be", "translated"]
["to", "piglatin"]
Така че основно ако започне с гласна "aeiou"вземете думата + "яй", ако не преместите буквите на гърба, докато не достигнете гласна, след което добавете яй, а ако няма гласна, вие я пренебрегвате.
Например; за да бъдат преведени, ще бъде: aboutyay otay ebay anslatedtray.
Това е моят код досега:
untranslated = open("english.txt","r")
vowels = "aeiou"
for lines in untranslated:
words = lines.split()
print(words)
Не искам пълния код за това как да завърша това, повече или по-малко, как бих започнал с първата дума и как да го развържа.
Отговори:
0 за отговор № 1Как да нарязваме низ:
word = "these"
print word[0] # it"s similar to list indexing, starts at 0
За да получите буквите в обратен ред, използвайте отрицателно число: word[-1]
е последната буква; word[-2]
последното е второ и т.н.
word[1:]
връща всяка буква от индекс 1 (втората буква) до края. "Дума [: 5]returns every letter up to index 5 (exclusive, letters 1, 2, 3, and 4).
думи [1: 5] `връща всяко писмо от индекс 1 до индекс 5 (букви 2, 3 и 4).
Тъй като имате няколко реда, искате да го направите words += lines.split()
защото
untranslated = open("english.txt","r")
vowels = ("a", "e", "i", "o", "u") # I like using lists/tuples rather than strings
# if you are just checking if something is in it
newWords = []
for lines in untranslated:
words += lines.split() # this fixes the last line problem
# this assumes each word is on one line, separated by a space (like: "these are words")
for word in words: # iterates through every word
if word[0] in vowels: # if first letter is a vowel
new_word = word + "yay"
else:
new_word = word[1:] + word[0] + "ay"
newWords.apend(new_word)
Въз основа на предложението на Eric Roper можете да създадете речник като превод:
newWords = {}
for word in words:
if word[0] in vowels:
new_word = word + "yay"
newWords[word] = new_word
else:
new_word = word[1:] + word[0] + "ay"
newWords[word] = new_word
Някои препратки: