Osvaldo Frias
Alexander Angulo
Luis Lira
Osvaldo Frias
Alexander Angulo
Luis Lira
IVAN DARIO CHIPATECUA CABEZAS
Arnold Stuwar Pedraza Marin
Sebastian CA
Enzo Venturi
Jonathan David Olivos
Nicolás Peralta Páez
Andrés Felipe Martínez Salazar
Emmanuel Rodríguez
David Daza
Francisco Naut
Jairo Andres Buelvas Mendoza
Leonardo Valdivieso
Oscar Javier Hernandez Gomez
José Rodrigo Álvarez Herrera
Brayan Buitrago
Jesse Madriz
Kebyn Enrique Ajin Elías
Alex Daniel Juep Sifuentes
Hector Francisco Medina Garnica
Miguel Angel Luque Acevedo
Juan Sebastián Caballero
Brayan Alexis Lechon Andrango
Wilson Fernando Antury Torres
Me parece que está mal editado el video, habla de funciones para convertir texto a un entero, pero no usó eso :thi
muy cierto
Hola! Gracias por el reporte, vamos a reportarlo al equipo :D
Retos 1 y 2
package main import "fmt" func main() { if isPair(6) { fmt.Println("Number is pair") } else { fmt.Println("Number is odd") } if isValidUser("Alpha5", "MyPassword") { fmt.Println("Credentials are valid") } else { fmt.Println("Credentials aren't valid") } } func isPair(num int) bool { return num % 2 == 0 } func isValidUser(userName, pass string) bool { return userName == "Alpha" && pass == "MyPassword" }
Reto :)
(n)vim verdad? ya somos dos :)
Hola, Arnold.
Vengo de utilizar Python: allí se me mencionó que la pocisión del entry-point (que en este caso sería la función main) tiene ser siempre por debajo de todo.
Quizá para facilitar la lectura del código —o lo que no descartaría—: evitar errores de ejecución.
Mis apauntes
Atoi is equivalent to ParseInt(s, 10, 0), converted to type int.
Fatal is equivalent to Print() followed by a call to os.Exit(1).
package main import ( "fmt" "log" "strconv" ) func main() { if true { fmt.Println("Hello World") } else { fmt.Println("Bye World") } //Converting strings to integers value, err := strconv.Atoi("23") // Atoi is equivalent to ParseInt(s, 10, 0), converted to type int. if err != nil { log.Fatal(err) //Fatal is equivalent to Print() followed by a call to os.Exit(1). } fmt.Println(value) //Even or odd numb := 10 if numb%2 != 0 { fmt.Println("Number is odd") } else { fmt.Println("Number is even") } //login user := "Pedro" password := "12345" if user == "Pedro" && password == "12345" { fmt.Println("Logged in") } else if user == "Pedro" { fmt.Println("Password incorrect") } else if password == "12345" { fmt.Println("User incorrect") } else { fmt.Println("Credencials incorrect") } }
Gracias, crack. Muy buenos apuntes
Reto 1:
func esPar(num int) bool { result := num%2 == 0 if result { fmt.Println(num, "es par") } else { fmt.Println(num, "NO es par") } return result }
Reto 2:
func validUser(username, pass string) bool { return username == "kuro" && pass == "kuro" }
Puertas lógicas 😅 años que no escuchaba a los operadores lógicos, me regresé a la uni ❣️
En Go, un statement puede ser parte de un condicional. Por ejemplo, para convertir un string a un int se puede utilizar la función Atoi del paquete strconv. La función devuelve un int si la conversión es exitosa. De lo contrario, devuelve un error. Así:
func main() { a := "10" // n y err están en el scope de main n, err := strconv.Atoi(a) if err != nil { panic(err) } fmt.Printf("The value of a is %d\n", n) }
El statement strconv.Atoi puede ejecutarse en la misma declaración del condicional:
func main() { a := "10" // Inline if n, err := strconv.Atoi(a); err != nil { panic(err) } else { fmt.Printf("The value of a is %d\n", n) } }
Aquí hace falta la rama else porque las variables declaradas en el statement (n y err) sólo están disponibles en el scope del condicional y no en el de la función main. Todo depende del caso de uso, pero a ustedes, ¿cuál versión les gusta más?
En Go, nil es el valor cero para punteros, interfaces, mapas, slices, canales y funciones; y corresponde a la representación de un valor no inicializado. Pero ojo, es muy importante no confundir valor “no inicializado” con estado indeterminado, pues nil no es más que otro posible valor válido. Si, por ejemplo, hablamos de la interfaz error, el valor nil será el equivalente a decir que no hay error. Otra cosa muy diferente sería decir que no sabemos si hay o no error (estado indeterminado).
¿Hola a todos, alguien sabe donde encuentro el repositorio al que se refiere el profesor?.
Gracias... :)
package main import "fmt" func authFunction(username, password string) bool { if username == "oscar" && password == "qwe" { fmt.Println("Correct Data") return true } println("wrong data") return false } func main() { var username string var password string fmt.Println("Enter your Username") _, err := fmt.Scanln(&username) if err != nil { println("There was a user error", err) return } fmt.Println("Enter your password") _, err2 := fmt.Scanln(&password) if err2 != nil { println("There was a password error", err) return } result := authFunction(username, password) if result == true { fmt.Println("Correctly authenticated") } else { fmt.Println("There was a error, try it again") } } ```package main import "fmt" func authFunction(username, password string) bool {   if username == "oscar" && password == "qwe" {   fmt.Println("Correct Data")   return true   }   println("wrong data")   return false } func main() {   var username string   var password string   fmt.Println("Enter your Username")   \_, err := fmt.Scanln(\&username)   if err != nil {   println("There was a user error", err)   return   }   fmt.Println("Enter your password")   \_, err2 := fmt.Scanln(\&password)   if err2 != nil {   println("There was a password error", err)   return   }   result := authFunction(username, password)   if result == true {   fmt.Println("Correctly authenticated")   } else {   fmt.Println("There was a error, try it again")   } }
Reto 1
func isPar(x int){ if x%2==0 { fmt.Printf("¡%d es par!\n",x) } else { fmt.Printf("Lo siento bro, %d no es par :/",x) } }
Reto 2
func iniSesion(username, password string){ var usernameCorrecto string = "Lalo Quita" var passwordCorrecto string = "password" if username == usernameCorrecto && password==passwordCorrecto { fmt.Println("Sesion iniciada") } else if username == usernameCorrecto { fmt.Println("Contraseña incorrecta") } else if password == passwordCorrecto { fmt.Println("Nombre de usuario incorrecto") } else { fmt.Println("Nombre y contraseña incorrectos") } }
Respuesta de los retos 1 y 2
package main import "fmt" func main() { valor1 := 1 valor2 := 2 if valor1 == 1 { fmt.Println("Es 1") } else { fmt.Println("No es 1") } //With and if valor1 == 1 && valor2 == 2 { fmt.Println("Es verdad") } //With or if valor1 == 0 || valor2 == 2 { fmt.Println("Es verdad con alguno de los 2") } numeroPar := 8 numeroImpar := 11 result := isPar(numeroPar) if result { fmt.Printf("El numero %d es Par\n", numeroPar) } result = isPar(numeroImpar) if result { fmt.Printf("El numero %d es Par\n", numeroPar) } else { fmt.Printf("El numero %d es Impar\n", numeroImpar) } password1 := "Password123" password2 := "Password123" password3 := "Password789" if isValidPassword(password1, password2) { fmt.Println("El password es valido!!") } else { fmt.Println("El password Incorrecto!!") } if isValidPassword(password1, password3) { fmt.Println("El password es valido!!") } else { fmt.Println("El password Incorrecto!!") } } func isPar(number int) (result bool) { if number%2 == 0 { return true } return false } func isValidPassword(password1, password2 string) (result bool) { if password1 == password2 { return true } return false }
Primer reto:
package main import "fmt" func parOImpar(numero int) { if numero % 2 == 0 { fmt.Printf("El número %d es par", numero) } else { fmt.Printf("El número %d es impar", numero) } } func main() { parOImpar(13) }
Segundo reto:
package main import "fmt" func validateUser(user string, password string) { if user == "admin" && password == "admin123" { fmt.Printf("Acceso permitido") } else { fmt.Printf("Acceso denegado") } } func main() { validateUser("admin", "admin123") }
Reto 1 (Saber si un numero es par o impar):
package main import "fmt" func esPar(num int) { if num%2 == 0 { fmt.Println("Es par") } else { fmt.Println("Es impar") } } func main() { var num = 10 esPar(num) }
Output: Es par
Reto 2 (Saber si la contraseña es correcta o incorrecta):
package main import "fmt" func validarContrasena(contrasena, ingresado string) { if contrasena == ingresado { fmt.Println("Contraseña correcta") } else { fmt.Println("Contraseña incorrecta") } } func main() { var contrasena = "123Alex" var ingresado = "123alex" validarContrasena(contrasena, ingresado) }
Output: Contraseña incorrecta
CODIGO:
package main import ( "fmt" ) var users = map[string]string { "user1": "pass1", "user2r": "pass2", "user3": "pass4", "user4": "pass4", "user5": "pass5", } func isOddOrEven(number int) { var result string isEven := number%2 == 0 if isEven { result = "par" } else { result = "impar" } fmt.Printf("El numero = \"%d\" es %s\n", number, result) } func validate(username, password string) bool { validUser := users[username] == password if validUser { fmt.Printf("Las credenciales del usuario \"%s\" son validas\n", username) } else { fmt.Printf("Las credenciales del usuario \"%s\" son invalidas\n", username) } return validUser } func main() { // Un numero es par o impar isOddOrEven(2020) isOddOrEven(2021) // Validar credenciales validate("user1", "pass1") validate("user3", "pass2") validate("user7", "pass7") }
RESULTADO:
El numero = "2020" es par El numero = "2021" es impar Las credenciales del usuario "user1" son validas Las credenciales del usuario "user3" son invalidas Las credenciales del usuario "user7" son invalidas
Mi solución al reto:
package main import "fmt" func esPar(n int) bool { if n%2 == 0 { fmt.Printf("%d es un número par.\n", n) return true } else { fmt.Printf("%d es un número impar.\n", n) return false } } func validarUsuario(usr, pwd string) bool { const usrBase = "Miguel" const pwdBase = "qwerty" if usr == usrBase && pwd == pwdBase { fmt.Println("Usuario y contraseña validos") fmt.Printf("¡Bienvenido %s!\n", usr) return true } else { fmt.Println("Usuario o contraseña incorrectos") fmt.Println("¡Acceso denegado!") return false } } func main() { esPar(15) //15 es un número impar. esPar(12) //12 es un número par. fmt.Println("") validarUsuario("Eustaquio", "qwerty") fmt.Println("") // Usuario o contraseña incorrectos // ¡Acceso denegado! validarUsuario("Miguel", "12345") fmt.Println("") // Usuario o contraseña incorrectos // ¡Acceso denegado! validarUsuario("Miguel", "qwerty") fmt.Println("") // Usuario y contraseña validos // ¡Bienvenido Miguel! }
Resultado:
15 es un número impar. 12 es un número par. Usuario o contraseña incorrectos ¡Acceso denegado! Usuario o contraseña incorrectos ¡Acceso denegado! Usuario y contraseña validos ¡Bienvenido Miguel!
Ejemplo de condicionales:
//CONDITIONALS //IF value1 := 5 value2 := 8 if value1 == 6 { fmt.Println("Value 6") } else { fmt.Println("Not 6") } if value1 == 6 && value2 == 8 { fmt.Println("Both, 6 and 8 are correct") } else { fmt.Println("One or both are wrong") } if value1 == 6 || value2 == 8 { fmt.Println("One or both, 6 and 8 are correct") } else { fmt.Println("Both are wrong") } if value1 != 6 { fmt.Println("Isn't 6") } else { fmt.Println("Is 6") }
les presento mi versión de los retos 🤠
package main import "fmt" func parImpar(numero int )(string){ if numero % 2 == 0{ return "Es par" }else{ return "Es impar" } } func validar(usuario string, password string) (string) { root:="platzi" pass:="platzii" if usuario==root && password==pass { return "Acceso Correcto 🚀" }else{ return "Vuelve a intentarlo 💥💥" } } func main() { fmt.Println(parImpar(10)) fmt.Println(parImpar(5)) usuario := "Platzi" password:= "root" fmt.Println(validar(usuario, password)) usuario = "platzi" password = "platzii" fmt.Println(validar(usuario, password)) }
los resultados
Solución de los retos:
unc evenOdd(number int) bool { return number%2 == 0 } func userAuth(userName, password string) bool { _userName := "gouser" _password := "12345" if userName == _userName && password == _password { return true } return false } func main() { if evenOdd(6) { fmt.Println("Es Par") } else { fmt.Println("Es Impar") } if userAuth("gouser1", "12345") { fmt.Println("Usuario autenticado") } else { fmt.Println("Usuario no existe") } }