Advertisement
AntonioVillanueva

Ejercicio 6 palindromo en Go

Apr 19th, 2023
1,044
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 1.05 KB | None | 0 0
  1. /*
  2. https://gocoding.org/es/ejercicios-de-pr%C3%A1ctica-de-golang/
  3. 6. Escriba un programa que tome una entrada de cadena del usuario
  4. y determine si es un palíndromo (una palabra o frase que se lee igual hacia atrás que hacia adelante).
  5. */
  6.  
  7. package main
  8.  
  9. import (
  10.     "fmt"
  11.     "strings"
  12. )
  13.  
  14. func palindromo(palabra string) bool {
  15.  
  16.     palabra = strings.ToLower(palabra) //Evita encontrar una mayuscula
  17.     final := len(palabra) - 1
  18.     if final <= 0 { //palabra vacia
  19.         return false
  20.     }
  21.  
  22.     inicio := 0
  23.  
  24.     for { //While
  25.         //Si las letras no son iguales retorna falso
  26.         if palabra[inicio] != palabra[final] {
  27.             return false
  28.         }
  29.  
  30.         final--
  31.         inicio++
  32.         if final <= inicio { //Condicion de salida del bucle
  33.             break
  34.         }
  35.     }
  36.     return true
  37. }
  38.  
  39. func main() {
  40.     //Varias palabras a probar
  41.     palabras := []string{"tata", "aba", "alababa", "acurruca", "asa", "sedes", "sometemos", "icaro"}
  42.  
  43.     for _, v := range palabras {
  44.         fmt.Print(v)
  45.         if !palindromo(v) { //Si no es palindromo imprimo no
  46.             fmt.Print(" no")
  47.         }
  48.         fmt.Println(" es palindromo ")
  49.     }
  50. }
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement