Informatică, întrebare adresată de LokoPoco, 8 ani în urmă

Buna, trebuie sa scriu o functie care sa adauge caracterul "^" dupa fiecare vocala, functia trebuie sa fie facuta separat de functia main si o sa fie transmisa prin parametru. Cum as putea face ?

Răspunsuri la întrebare

Răspuns de Porecla0987
0

Poti sa ii pasezi ce caractere vrei tu, nu doar "^".

def insert_after_vowels(string, characters):

   vowels = "aeiouAEIOU"

   result = string

   for vowel in vowels:

       left = 0

       while True:

           vowel_position = result.find(vowel, left, len(result))

           if vowel_position != -1:  # 'vowel' found in 'string'

               left = vowel_position + len(characters)

               result = result[:vowel_position + 1] + characters + result[vowel_position + 1:]

           else:

               break  # 'vowel' not found in 'result'

   return result

if __name__ == "__main__":

   sentence = input("Enter sentence: ")

   print(insert_after_vowels(sentence, "^^^"))


LokoPoco: Cum as putea traduce in c++ unele lucruri de acolo?:))
Porecla0987: Simplu, intelegi ce face si faci la fel in C++.
Porecla0987: Partea de slicing ("result[:vowel_position + 1]") e mai greu de facut in C++, pentru ca n-are un echivalent adevarat. Poti folosi in loc de "some_array = [11, 22, 33, 44]; rest = some_array[1:]" (Python) poti folosi "std::vector some_array = [11, 22, 33, 44]; std::vector rest (some_array.begin() + 1, some_array.end());"
Porecla0987: Am gresit mai sus, in C++ vectorii sunt "std::vector some_array = {11, 22, 33, 44}", nu "std::vector some_array = [11, 22, 33, 44]" (acolade in loc de paranteze patrate).
Porecla0987: Aparent brainly imi sterge o bucata de cod, dupa "std::vector" ar trebui sa apara "". Daca nu apare, atunci: [mai mic]int[mai mare].
Alte întrebări interesante