Syllabification function for Turkish wordsSimple palindrome function for single wordsWord count and most frequent words from input text, excluding stop wordsSanitizing words extracted from text files and writing them to a databaseLabeling modified wordsSummarize a document as a key-phrase or key-wordsFlag words that would be difficult for an early readerFunction for root matching between two paragraphsreplacing words with their abbreviationsReplacing words with their abbreviations - Follow upCounting lower vs non-lowercase tokens for tokenized text with several conditions

What is the rarity of this homebrew magic staff?

Why does Bach not break the rules here?

Why do Australian milk farmers need to protest supermarkets' milk price?

Recruiter wants very extensive technical details about all of my previous work

How to use deus ex machina safely?

How to terminate ping <dest> &

How to deal with taxi scam when on vacation?

How could a scammer know the apps on my phone / iTunes account?

Gravity magic - How does it work?

Unexpected result from ArcLength

How can you use ICE tables to solve multiple coupled equilibria?

What do Xenomorphs eat in the Alien series?

How to change two letters closest to a string and one letter immediately after a string using notepad++

A link redirect to http instead of https: how critical is it?

Why did it take so long to abandon sail after steamships were demonstrated?

How do I hide Chekhov's Gun?

How difficult is it to simply disable/disengage the MCAS on Boeing 737 Max 8 & 9 Aircraft?

Welcoming 2019 Pi day: How to draw the letter π?

SOQL: Populate a Literal List in WHERE IN Clause

Min function accepting varying number of arguments in C++17

Why one should not leave fingerprints on bulbs and plugs?

Is it possible to upcast ritual spells?

Is it normal that my co-workers at a fitness company criticize my food choices?

Can a druid choose the size of its wild shape beast?



Syllabification function for Turkish words


Simple palindrome function for single wordsWord count and most frequent words from input text, excluding stop wordsSanitizing words extracted from text files and writing them to a databaseLabeling modified wordsSummarize a document as a key-phrase or key-wordsFlag words that would be difficult for an early readerFunction for root matching between two paragraphsreplacing words with their abbreviationsReplacing words with their abbreviations - Follow upCounting lower vs non-lowercase tokens for tokenized text with several conditions













3












$begingroup$


I wrote an NLP script for processing Turkish language. Yesterday I added syllabication but I wonder if it could be done better. It is kinda hard-coded, so I would like to know if I can improve it.



Here is the syllabication part.



def syllabicate(self, word):
"""
:param word: The word to be syllabicated
:return: The syllabicated list that contains syllabs
"""
word = word.lower()
syllabs = []
syllab = ""
keep_index = 0
last_was_vowel = False
next_is_vowel = False

for let_ind in range(len(word)):
if let_ind != len(word) - 1:
if word[let_ind + 1] in self.vowels:
next_is_vowel = True
else:
next_is_vowel = False
else:
syllab = word[keep_index:]
syllabs.append(syllab)
break

if next_is_vowel and not last_was_vowel and syllab:
syllabs.append(syllab)
syllab = ""
keep_index = let_ind

elif next_is_vowel and word[let_ind] not in self.vowels and syllab:
syllabs.append(syllab)
syllab = ""
keep_index = let_ind

syllab += word[let_ind]

if word[let_ind] in self.vowels:
last_was_vowel = True
else:
last_was_vowel = False

return syllabs









share|improve this question











$endgroup$
















    3












    $begingroup$


    I wrote an NLP script for processing Turkish language. Yesterday I added syllabication but I wonder if it could be done better. It is kinda hard-coded, so I would like to know if I can improve it.



    Here is the syllabication part.



    def syllabicate(self, word):
    """
    :param word: The word to be syllabicated
    :return: The syllabicated list that contains syllabs
    """
    word = word.lower()
    syllabs = []
    syllab = ""
    keep_index = 0
    last_was_vowel = False
    next_is_vowel = False

    for let_ind in range(len(word)):
    if let_ind != len(word) - 1:
    if word[let_ind + 1] in self.vowels:
    next_is_vowel = True
    else:
    next_is_vowel = False
    else:
    syllab = word[keep_index:]
    syllabs.append(syllab)
    break

    if next_is_vowel and not last_was_vowel and syllab:
    syllabs.append(syllab)
    syllab = ""
    keep_index = let_ind

    elif next_is_vowel and word[let_ind] not in self.vowels and syllab:
    syllabs.append(syllab)
    syllab = ""
    keep_index = let_ind

    syllab += word[let_ind]

    if word[let_ind] in self.vowels:
    last_was_vowel = True
    else:
    last_was_vowel = False

    return syllabs









    share|improve this question











    $endgroup$














      3












      3








      3


      1



      $begingroup$


      I wrote an NLP script for processing Turkish language. Yesterday I added syllabication but I wonder if it could be done better. It is kinda hard-coded, so I would like to know if I can improve it.



      Here is the syllabication part.



      def syllabicate(self, word):
      """
      :param word: The word to be syllabicated
      :return: The syllabicated list that contains syllabs
      """
      word = word.lower()
      syllabs = []
      syllab = ""
      keep_index = 0
      last_was_vowel = False
      next_is_vowel = False

      for let_ind in range(len(word)):
      if let_ind != len(word) - 1:
      if word[let_ind + 1] in self.vowels:
      next_is_vowel = True
      else:
      next_is_vowel = False
      else:
      syllab = word[keep_index:]
      syllabs.append(syllab)
      break

      if next_is_vowel and not last_was_vowel and syllab:
      syllabs.append(syllab)
      syllab = ""
      keep_index = let_ind

      elif next_is_vowel and word[let_ind] not in self.vowels and syllab:
      syllabs.append(syllab)
      syllab = ""
      keep_index = let_ind

      syllab += word[let_ind]

      if word[let_ind] in self.vowels:
      last_was_vowel = True
      else:
      last_was_vowel = False

      return syllabs









      share|improve this question











      $endgroup$




      I wrote an NLP script for processing Turkish language. Yesterday I added syllabication but I wonder if it could be done better. It is kinda hard-coded, so I would like to know if I can improve it.



      Here is the syllabication part.



      def syllabicate(self, word):
      """
      :param word: The word to be syllabicated
      :return: The syllabicated list that contains syllabs
      """
      word = word.lower()
      syllabs = []
      syllab = ""
      keep_index = 0
      last_was_vowel = False
      next_is_vowel = False

      for let_ind in range(len(word)):
      if let_ind != len(word) - 1:
      if word[let_ind + 1] in self.vowels:
      next_is_vowel = True
      else:
      next_is_vowel = False
      else:
      syllab = word[keep_index:]
      syllabs.append(syllab)
      break

      if next_is_vowel and not last_was_vowel and syllab:
      syllabs.append(syllab)
      syllab = ""
      keep_index = let_ind

      elif next_is_vowel and word[let_ind] not in self.vowels and syllab:
      syllabs.append(syllab)
      syllab = ""
      keep_index = let_ind

      syllab += word[let_ind]

      if word[let_ind] in self.vowels:
      last_was_vowel = True
      else:
      last_was_vowel = False

      return syllabs






      python python-3.x natural-language-processing






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 5 hours ago









      200_success

      130k17153419




      130k17153419










      asked Sep 10 '18 at 7:30









      MeteHanMeteHan

      12517




      12517




















          1 Answer
          1






          active

          oldest

          votes


















          4












          $begingroup$

          First of all you should know that the script doesn't syllabize properly for every word. For example if you give the word authenticated the function returns ['aut', 'hen', 'ti', 'ca', 'ted'] which is incorrect. The correct case would be ['au','then','ti','cat','ed']. However I do not know how to fix that.



          Edit: The point made above doesn't stand since this script isn't for the english language.



          Second you have a lot of ifs where you check if a character is a vowel like this:



          if word[let_ind] in self.vowels:
          last_was_vowel = True
          else:
          last_was_vowel = False


          They could be written better like this:



          last_was_vowel = word[let_ind] in self.vowels


          Or even better I would have written a function that checks if a letter is a vowel.



          def is_vowel(self, char):
          return char in self.vowels


          The first if in your for loop



          if let_ind != len(word) - 1:
          if word[let_ind + 1] in self.vowels:
          next_is_vowel = True
          else:
          next_is_vowel = False
          else:
          syllab = word[keep_index:]
          syllabs.append(syllab)
          break


          checks if the next one is a vowel except the last char.
          It would be more good looking like this:



          for pos, char in enumerate(word[:-1]):
          next_is_vowel = self.is_vowel(word[pos + 1])
          ...

          syllab = word[keep_index:]
          syllabs.append(syllab)


          We enumerate through the word to get the position of the letter and
          the letter itself. The word[:-1] means we are going to iterate the whole word except its last letter.



          Lastly you got 2 ifs here that do the same thing. You also don't need the keep_index.



          if next_is_vowel and not last_was_vowel and syllab:
          syllabs.append(syllab)
          syllab = ""

          elif next_is_vowel and word[let_ind] not in self.vowels and syllab:
          syllabs.append(syllab)
          syllab = ""


          The could be easily written as one if like this:



          if next_is_vowel and syllab and not (last_was_vowel and self.is_vowel(char)):
          syllabs.append(syllab)
          syllab = ""


          The place where the keep index was used can be replaced like this
          from syllab = word[keep_index:] to syllab += word[-1]



          With these changes in mind the code looks now like this.



          def is_vowel(self, char):
          """

          :param char: the character to check
          :return: bool depending if the char is a vowel
          """
          return char in self.vowels

          def syllabicate(self, word):
          """
          :param word: The word to be syllabicated
          :return: The syllabicated list that contains syllabs
          """
          word = word.lower()
          syllabs = []
          syllab = ""
          last_was_vowel = False
          # we don't want the last character

          for pos, char in enumerate(word[:-1]):
          next_is_vowel = self.is_vowel(word[pos + 1])

          if next_is_vowel and syllab and not (last_was_vowel and self.is_vowel(char)):

          syllabs.append(syllab)
          syllab = ""

          syllab += char
          last_was_vowel = self.is_vowel(char)

          syllab += word[-1]
          syllabs.append(syllab)

          return syllabs





          share|improve this answer











          $endgroup$








          • 1




            $begingroup$
            As I mentioned it is for Turkish language only since every language has its own rules it is not going to work for English. And thanks a lot for the advices, they are totally on point.
            $endgroup$
            – MeteHan
            Sep 10 '18 at 8:22










          • $begingroup$
            Oh I am sorry about that. I will remove that part then from the post since it doesn't offer anything constructive.
            $endgroup$
            – Giannis Papaioannou
            Sep 10 '18 at 8:25










          Your Answer





          StackExchange.ifUsing("editor", function ()
          return StackExchange.using("mathjaxEditing", function ()
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
          );
          );
          , "mathjax-editing");

          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "196"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f203450%2fsyllabification-function-for-turkish-words%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          4












          $begingroup$

          First of all you should know that the script doesn't syllabize properly for every word. For example if you give the word authenticated the function returns ['aut', 'hen', 'ti', 'ca', 'ted'] which is incorrect. The correct case would be ['au','then','ti','cat','ed']. However I do not know how to fix that.



          Edit: The point made above doesn't stand since this script isn't for the english language.



          Second you have a lot of ifs where you check if a character is a vowel like this:



          if word[let_ind] in self.vowels:
          last_was_vowel = True
          else:
          last_was_vowel = False


          They could be written better like this:



          last_was_vowel = word[let_ind] in self.vowels


          Or even better I would have written a function that checks if a letter is a vowel.



          def is_vowel(self, char):
          return char in self.vowels


          The first if in your for loop



          if let_ind != len(word) - 1:
          if word[let_ind + 1] in self.vowels:
          next_is_vowel = True
          else:
          next_is_vowel = False
          else:
          syllab = word[keep_index:]
          syllabs.append(syllab)
          break


          checks if the next one is a vowel except the last char.
          It would be more good looking like this:



          for pos, char in enumerate(word[:-1]):
          next_is_vowel = self.is_vowel(word[pos + 1])
          ...

          syllab = word[keep_index:]
          syllabs.append(syllab)


          We enumerate through the word to get the position of the letter and
          the letter itself. The word[:-1] means we are going to iterate the whole word except its last letter.



          Lastly you got 2 ifs here that do the same thing. You also don't need the keep_index.



          if next_is_vowel and not last_was_vowel and syllab:
          syllabs.append(syllab)
          syllab = ""

          elif next_is_vowel and word[let_ind] not in self.vowels and syllab:
          syllabs.append(syllab)
          syllab = ""


          The could be easily written as one if like this:



          if next_is_vowel and syllab and not (last_was_vowel and self.is_vowel(char)):
          syllabs.append(syllab)
          syllab = ""


          The place where the keep index was used can be replaced like this
          from syllab = word[keep_index:] to syllab += word[-1]



          With these changes in mind the code looks now like this.



          def is_vowel(self, char):
          """

          :param char: the character to check
          :return: bool depending if the char is a vowel
          """
          return char in self.vowels

          def syllabicate(self, word):
          """
          :param word: The word to be syllabicated
          :return: The syllabicated list that contains syllabs
          """
          word = word.lower()
          syllabs = []
          syllab = ""
          last_was_vowel = False
          # we don't want the last character

          for pos, char in enumerate(word[:-1]):
          next_is_vowel = self.is_vowel(word[pos + 1])

          if next_is_vowel and syllab and not (last_was_vowel and self.is_vowel(char)):

          syllabs.append(syllab)
          syllab = ""

          syllab += char
          last_was_vowel = self.is_vowel(char)

          syllab += word[-1]
          syllabs.append(syllab)

          return syllabs





          share|improve this answer











          $endgroup$








          • 1




            $begingroup$
            As I mentioned it is for Turkish language only since every language has its own rules it is not going to work for English. And thanks a lot for the advices, they are totally on point.
            $endgroup$
            – MeteHan
            Sep 10 '18 at 8:22










          • $begingroup$
            Oh I am sorry about that. I will remove that part then from the post since it doesn't offer anything constructive.
            $endgroup$
            – Giannis Papaioannou
            Sep 10 '18 at 8:25















          4












          $begingroup$

          First of all you should know that the script doesn't syllabize properly for every word. For example if you give the word authenticated the function returns ['aut', 'hen', 'ti', 'ca', 'ted'] which is incorrect. The correct case would be ['au','then','ti','cat','ed']. However I do not know how to fix that.



          Edit: The point made above doesn't stand since this script isn't for the english language.



          Second you have a lot of ifs where you check if a character is a vowel like this:



          if word[let_ind] in self.vowels:
          last_was_vowel = True
          else:
          last_was_vowel = False


          They could be written better like this:



          last_was_vowel = word[let_ind] in self.vowels


          Or even better I would have written a function that checks if a letter is a vowel.



          def is_vowel(self, char):
          return char in self.vowels


          The first if in your for loop



          if let_ind != len(word) - 1:
          if word[let_ind + 1] in self.vowels:
          next_is_vowel = True
          else:
          next_is_vowel = False
          else:
          syllab = word[keep_index:]
          syllabs.append(syllab)
          break


          checks if the next one is a vowel except the last char.
          It would be more good looking like this:



          for pos, char in enumerate(word[:-1]):
          next_is_vowel = self.is_vowel(word[pos + 1])
          ...

          syllab = word[keep_index:]
          syllabs.append(syllab)


          We enumerate through the word to get the position of the letter and
          the letter itself. The word[:-1] means we are going to iterate the whole word except its last letter.



          Lastly you got 2 ifs here that do the same thing. You also don't need the keep_index.



          if next_is_vowel and not last_was_vowel and syllab:
          syllabs.append(syllab)
          syllab = ""

          elif next_is_vowel and word[let_ind] not in self.vowels and syllab:
          syllabs.append(syllab)
          syllab = ""


          The could be easily written as one if like this:



          if next_is_vowel and syllab and not (last_was_vowel and self.is_vowel(char)):
          syllabs.append(syllab)
          syllab = ""


          The place where the keep index was used can be replaced like this
          from syllab = word[keep_index:] to syllab += word[-1]



          With these changes in mind the code looks now like this.



          def is_vowel(self, char):
          """

          :param char: the character to check
          :return: bool depending if the char is a vowel
          """
          return char in self.vowels

          def syllabicate(self, word):
          """
          :param word: The word to be syllabicated
          :return: The syllabicated list that contains syllabs
          """
          word = word.lower()
          syllabs = []
          syllab = ""
          last_was_vowel = False
          # we don't want the last character

          for pos, char in enumerate(word[:-1]):
          next_is_vowel = self.is_vowel(word[pos + 1])

          if next_is_vowel and syllab and not (last_was_vowel and self.is_vowel(char)):

          syllabs.append(syllab)
          syllab = ""

          syllab += char
          last_was_vowel = self.is_vowel(char)

          syllab += word[-1]
          syllabs.append(syllab)

          return syllabs





          share|improve this answer











          $endgroup$








          • 1




            $begingroup$
            As I mentioned it is for Turkish language only since every language has its own rules it is not going to work for English. And thanks a lot for the advices, they are totally on point.
            $endgroup$
            – MeteHan
            Sep 10 '18 at 8:22










          • $begingroup$
            Oh I am sorry about that. I will remove that part then from the post since it doesn't offer anything constructive.
            $endgroup$
            – Giannis Papaioannou
            Sep 10 '18 at 8:25













          4












          4








          4





          $begingroup$

          First of all you should know that the script doesn't syllabize properly for every word. For example if you give the word authenticated the function returns ['aut', 'hen', 'ti', 'ca', 'ted'] which is incorrect. The correct case would be ['au','then','ti','cat','ed']. However I do not know how to fix that.



          Edit: The point made above doesn't stand since this script isn't for the english language.



          Second you have a lot of ifs where you check if a character is a vowel like this:



          if word[let_ind] in self.vowels:
          last_was_vowel = True
          else:
          last_was_vowel = False


          They could be written better like this:



          last_was_vowel = word[let_ind] in self.vowels


          Or even better I would have written a function that checks if a letter is a vowel.



          def is_vowel(self, char):
          return char in self.vowels


          The first if in your for loop



          if let_ind != len(word) - 1:
          if word[let_ind + 1] in self.vowels:
          next_is_vowel = True
          else:
          next_is_vowel = False
          else:
          syllab = word[keep_index:]
          syllabs.append(syllab)
          break


          checks if the next one is a vowel except the last char.
          It would be more good looking like this:



          for pos, char in enumerate(word[:-1]):
          next_is_vowel = self.is_vowel(word[pos + 1])
          ...

          syllab = word[keep_index:]
          syllabs.append(syllab)


          We enumerate through the word to get the position of the letter and
          the letter itself. The word[:-1] means we are going to iterate the whole word except its last letter.



          Lastly you got 2 ifs here that do the same thing. You also don't need the keep_index.



          if next_is_vowel and not last_was_vowel and syllab:
          syllabs.append(syllab)
          syllab = ""

          elif next_is_vowel and word[let_ind] not in self.vowels and syllab:
          syllabs.append(syllab)
          syllab = ""


          The could be easily written as one if like this:



          if next_is_vowel and syllab and not (last_was_vowel and self.is_vowel(char)):
          syllabs.append(syllab)
          syllab = ""


          The place where the keep index was used can be replaced like this
          from syllab = word[keep_index:] to syllab += word[-1]



          With these changes in mind the code looks now like this.



          def is_vowel(self, char):
          """

          :param char: the character to check
          :return: bool depending if the char is a vowel
          """
          return char in self.vowels

          def syllabicate(self, word):
          """
          :param word: The word to be syllabicated
          :return: The syllabicated list that contains syllabs
          """
          word = word.lower()
          syllabs = []
          syllab = ""
          last_was_vowel = False
          # we don't want the last character

          for pos, char in enumerate(word[:-1]):
          next_is_vowel = self.is_vowel(word[pos + 1])

          if next_is_vowel and syllab and not (last_was_vowel and self.is_vowel(char)):

          syllabs.append(syllab)
          syllab = ""

          syllab += char
          last_was_vowel = self.is_vowel(char)

          syllab += word[-1]
          syllabs.append(syllab)

          return syllabs





          share|improve this answer











          $endgroup$



          First of all you should know that the script doesn't syllabize properly for every word. For example if you give the word authenticated the function returns ['aut', 'hen', 'ti', 'ca', 'ted'] which is incorrect. The correct case would be ['au','then','ti','cat','ed']. However I do not know how to fix that.



          Edit: The point made above doesn't stand since this script isn't for the english language.



          Second you have a lot of ifs where you check if a character is a vowel like this:



          if word[let_ind] in self.vowels:
          last_was_vowel = True
          else:
          last_was_vowel = False


          They could be written better like this:



          last_was_vowel = word[let_ind] in self.vowels


          Or even better I would have written a function that checks if a letter is a vowel.



          def is_vowel(self, char):
          return char in self.vowels


          The first if in your for loop



          if let_ind != len(word) - 1:
          if word[let_ind + 1] in self.vowels:
          next_is_vowel = True
          else:
          next_is_vowel = False
          else:
          syllab = word[keep_index:]
          syllabs.append(syllab)
          break


          checks if the next one is a vowel except the last char.
          It would be more good looking like this:



          for pos, char in enumerate(word[:-1]):
          next_is_vowel = self.is_vowel(word[pos + 1])
          ...

          syllab = word[keep_index:]
          syllabs.append(syllab)


          We enumerate through the word to get the position of the letter and
          the letter itself. The word[:-1] means we are going to iterate the whole word except its last letter.



          Lastly you got 2 ifs here that do the same thing. You also don't need the keep_index.



          if next_is_vowel and not last_was_vowel and syllab:
          syllabs.append(syllab)
          syllab = ""

          elif next_is_vowel and word[let_ind] not in self.vowels and syllab:
          syllabs.append(syllab)
          syllab = ""


          The could be easily written as one if like this:



          if next_is_vowel and syllab and not (last_was_vowel and self.is_vowel(char)):
          syllabs.append(syllab)
          syllab = ""


          The place where the keep index was used can be replaced like this
          from syllab = word[keep_index:] to syllab += word[-1]



          With these changes in mind the code looks now like this.



          def is_vowel(self, char):
          """

          :param char: the character to check
          :return: bool depending if the char is a vowel
          """
          return char in self.vowels

          def syllabicate(self, word):
          """
          :param word: The word to be syllabicated
          :return: The syllabicated list that contains syllabs
          """
          word = word.lower()
          syllabs = []
          syllab = ""
          last_was_vowel = False
          # we don't want the last character

          for pos, char in enumerate(word[:-1]):
          next_is_vowel = self.is_vowel(word[pos + 1])

          if next_is_vowel and syllab and not (last_was_vowel and self.is_vowel(char)):

          syllabs.append(syllab)
          syllab = ""

          syllab += char
          last_was_vowel = self.is_vowel(char)

          syllab += word[-1]
          syllabs.append(syllab)

          return syllabs






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 5 hours ago

























          answered Sep 10 '18 at 8:18









          Giannis PapaioannouGiannis Papaioannou

          358212




          358212







          • 1




            $begingroup$
            As I mentioned it is for Turkish language only since every language has its own rules it is not going to work for English. And thanks a lot for the advices, they are totally on point.
            $endgroup$
            – MeteHan
            Sep 10 '18 at 8:22










          • $begingroup$
            Oh I am sorry about that. I will remove that part then from the post since it doesn't offer anything constructive.
            $endgroup$
            – Giannis Papaioannou
            Sep 10 '18 at 8:25












          • 1




            $begingroup$
            As I mentioned it is for Turkish language only since every language has its own rules it is not going to work for English. And thanks a lot for the advices, they are totally on point.
            $endgroup$
            – MeteHan
            Sep 10 '18 at 8:22










          • $begingroup$
            Oh I am sorry about that. I will remove that part then from the post since it doesn't offer anything constructive.
            $endgroup$
            – Giannis Papaioannou
            Sep 10 '18 at 8:25







          1




          1




          $begingroup$
          As I mentioned it is for Turkish language only since every language has its own rules it is not going to work for English. And thanks a lot for the advices, they are totally on point.
          $endgroup$
          – MeteHan
          Sep 10 '18 at 8:22




          $begingroup$
          As I mentioned it is for Turkish language only since every language has its own rules it is not going to work for English. And thanks a lot for the advices, they are totally on point.
          $endgroup$
          – MeteHan
          Sep 10 '18 at 8:22












          $begingroup$
          Oh I am sorry about that. I will remove that part then from the post since it doesn't offer anything constructive.
          $endgroup$
          – Giannis Papaioannou
          Sep 10 '18 at 8:25




          $begingroup$
          Oh I am sorry about that. I will remove that part then from the post since it doesn't offer anything constructive.
          $endgroup$
          – Giannis Papaioannou
          Sep 10 '18 at 8:25

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Code Review Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f203450%2fsyllabification-function-for-turkish-words%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          名間水力發電廠 目录 沿革 設施 鄰近設施 註釋 外部連結 导航菜单23°50′10″N 120°42′41″E / 23.83611°N 120.71139°E / 23.83611; 120.7113923°50′10″N 120°42′41″E / 23.83611°N 120.71139°E / 23.83611; 120.71139計畫概要原始内容臺灣第一座BOT 模式開發的水力發電廠-名間水力電廠名間水力發電廠 水利署首件BOT案原始内容《小檔案》名間電廠 首座BOT水力發電廠原始内容名間電廠BOT - 經濟部水利署中區水資源局

          Prove that NP is closed under karp reduction?Space(n) not closed under Karp reductions - what about NTime(n)?Class P is closed under rotation?Prove or disprove that $NL$ is closed under polynomial many-one reductions$mathbfNC_2$ is closed under log-space reductionOn Karp reductionwhen can I know if a class (complexity) is closed under reduction (cook/karp)Check if class $PSPACE$ is closed under polyonomially space reductionIs NPSPACE also closed under polynomial-time reduction and under log-space reduction?Prove PSPACE is closed under complement?Prove PSPACE is closed under union?

          Is my guitar’s action too high? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Strings too stiff on a recently purchased acoustic guitar | Cort AD880CEIs the action of my guitar really high?Μy little finger is too weak to play guitarWith guitar, how long should I give my fingers to strengthen / callous?When playing a fret the guitar sounds mutedPlaying (Barre) chords up the guitar neckI think my guitar strings are wound too tight and I can't play barre chordsF barre chord on an SG guitarHow to find to the right strings of a barre chord by feel?High action on higher fret on my steel acoustic guitar