Platzi
Platzi

¡Invierte en ti y celebremos! Adquiere un plan Expert o Expert+ a precio especial.

Antes: $349
$259
Currency
Antes: $349
Ahorras: $90
COMIENZA AHORA
Termina en: 16D : 8H : 1M : 40S

Debes tener cuenta en Platzi

Para ver esta clase abierta debes iniciar sesión

Obteniendo datos del usuario9/36

¿Qué tal si obtenemos ahora datos del usuario?

 

Recuerda:

 

  • La consola nos sirve para saber el estado de las variables

 

  • Cuando tienen un valor en comillas("") es un texto

 

  • Puedes usar la función prompt para recibir datos del usuario.

 

  • Concatenar es unir cadenas de texto a variables

Es verdad, a nadie le gustan los decimales, pero si quieres que no te salga esa chorrera de números, digamos que te salgan sólo 2, puedes escribir


peso_final = (peso_final.toFixed(2));


El método "toFixed ()" se utiliza para mantener una cantidad especifica de decimales.

📌 La función parseFloat() nos sirve para convertir una cadena o número entero a un número con punto decimal.

var cadena = "120";
var numero_entero = 10;
var numero_punto_decimal = parseFloat(cadena) / parseFloat(numero_entero);

Para que no nos salgan tantos decimales como queramos podemos usar el método toFixed()


Por ejemplo:

var peso = 77.545674;
peso = peso.toFixed(2); //en paréntesis ponemos el número de decimales que queremos


Y cuando queramos averiguar el valor de peso nos redondeará a ese número de decimales.


peso
77.55
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Tu peso en un lugar donde pesas menos</title>
  </head>
  <body>
    <h1>Tu peso en otro planeta</h1>
    <!-- Los titulos se pueden agregar con las etiquetas h1, h2, h3, h4, h5, h6 -->
    <p>En la tierra pesas distinto que en marte o jupiter</p>
    <script type="text/javascript">
      var usuario = prompt("Cual es tu peso?");
      // La funcion prompt funciona igual que un alert y sirve para obtener datos del usuario
      var peso = parseInt(usuario);
      /* IMPORTANTE: Todos los valores que recibimos del usuario por medio de cajas de texto con boton
      (prompts, alerts, etc..), el navegador los trae por defecto como strings y debemos convertirlos
      (lo podemos hacer por medio de parseInt) */
      var g_tierra = 9.8;
      // Variable de tipo float (decimales)
      var g_marte = 3.7;
      var g_jupiter = 24.8;
      // Variable de tipo int (enteros)
      var peso_final;
      peso_final = peso * g_marte / g_tierra;
      peso_final = parseInt(peso_final);
      /* La funcion parseInt convierte las variables de tipo float(decimales) a tipo int(entero),
      parseFloat en cambio hace lo contrario */
      document.write("Tu peso en marte es <strong>" + peso_final + " kilos<strong/>");
      // Esto se llama concatenar (unir cadenas de texto a variables)
      /* IMPORTANTE: Las etiquetas tambien son cadenas de texto en js, entonces no pueden ir asi:
      document.write("Tu peso en marte es " <strong> + peso_final + <strong/>" kilos");
      Es decir no pueden ir por fuera del texto */
    </script>
  </body>
</html>

Aca les dejo mi repositorio.
https://utoskydive.github.io/PesoPlanetas.io/

yo hice un codigo diferente para que me digacuanto vale en marte y en jupiter de una vez :)


<!DOCTYPE html>

<html>

<head>

<title>Tu peso en un lugar donde pesas menos</title>

</head>

<body>

<h1>Tu peso en otro planeta</h1>

<p>En la tierra pesas distinto que en Marte o Jupiter</p>

<script>

var usuario = prompt('cual es tu peso')

var gt = 9.8;

var gm = 3.7;

var gj = 24.8;

p = (usuario);

p = parseInt(p)

pm = p * gm / gt;

pj = p * gj / gt;

pm = parseInt(pm);

pj = parseInt(pj);

document.write('Tu peso en la tierra es '+p+' kilos, tu peso en marte es ' +pm+' kilos, tu peso en jupiter es '+pj+' kilos.');

</script>

</body>

</html>

 

Si no quieren que se muestren tantos números decimales, pueden usar el método Tofixed(), ejemplo:
Inkedcode_LI.jpg

El número dentro de los paréntesis representa cuántos números después del punto decimal quieren que aparezcan en pantalla. En mi ejemplo, sólo aparecerán dos números.

Resultado:
Captura.PNG

Si quieren poner dos decimales pueden usar

parseFloat(usuario).toFixed(2);

Es una muy buena técnica. Queda más ordenado

Hice uno donde muestra el peso en cada planeta y da la opción de calcularlo en otro ingresando su gravedad manualmente!, aquí lo dejo por si les sirve =)

<!DOCTYPE html>
<html>
	<head>
		<title>PESO SEGUN PLANETA</title>
		<style>
		body{
			background-image: url(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSJT7Oi13K4hBgvmruhLjFeiuFjPd_rvjF6FOMxDcMzrQr50KauCw);
			color: white;
		}
	</style>
	</head>
	<body>
		<h1>Su peso segun tu planeta</h1>
		<script type="text/javascript">
			var g_mercurio = 3.7;
			var g_venus = 8.87;
			var g_tierra = 8.9;
			var g_marte = 3.7;
			var g_jupiter = 24.8;
			var g_saturno = 10.44;
			var g_urano = 8.7;
			var g_neptuno = 11.15;
			var g_desconocido;
			var peso = prompt("Cuanto pesas en la tierra?");
			document.write("Su peso en Mercurio es:" +(g_mercurio*peso/g_tierra).toFixed(2)+"<br />");
			document.write("Su peso en Venus es:" +(g_venus*peso/g_tierra).toFixed(2)+"<br />");
			document.write("Su peso en Marte es:" +(g_marte*peso/g_tierra).toFixed(2)+"<br />");
			document.write("Su peso en Jupiter es:" +(g_jupiter*peso/g_tierra).toFixed(2)+"<br />");
			document.write("Su peso en Saturno es:" +(g_saturno*peso/g_tierra).toFixed(2)+"<br />");
			document.write("Su peso en Urano es:" +(g_urano*peso/g_tierra).toFixed(2)+"<br />");
			document.write("Su peso en Neptuno es:" +(g_neptuno*peso/g_tierra).toFixed(2)+"<br />");
			var resp_1 = prompt("Quieres saber tu peso en otro planeta? s=si | n=no");


				if((resp_1 == "s")||(resp_1 == "S")){
					var g_desconocido = prompt("ingrese su gravedad");
					document.write(" Su peso en ese planeta es:" +(g_desconocido*peso/g_tierra).toFixed(2)+" (Dado que su gravedad es " +g_desconocido +").<br />");
				}
		</script>
	</body>
</html>
 var num = 5.56789;
var n = num.toFixed(2);

De esa manera puedes manejar la precisión, o la cantidad de dedecimales que desees mostrar, cuando lo haces de esta manera n es una variable de tipo string en el resultado.


Entonces obtenemos que n = 5.57

 

un ejemplo de como se limitaría a solo 2 decimales tu peso tipo float.


<script>

        var g_tierra=9.8;

        var g_marte=3.7;

        var g_jupiter=24.8;

        

        //pidiendo peso desde navegador

        var peso=prompt("Ingresa tu peso:");

        var peso_final;

       

        //peso en marte

        peso_final=peso*g_marte/g_tierra;

        peso_final=parseFloat(peso_final).toFixed(2);

        document.write("Tu peso en Marte es: <b>"+peso_final+" Kg</b>"+"</br>");

        

       

        //peso en jupiter

        peso_final=peso*g_jupiter/g_tierra;

        peso_final=parseFloat(peso_final).toFixed(2);

        document.write("Tu peso en Jupiter es: <b>"+peso_final+" Kg</b>");

        

    </script>

highlights
1, prompt(); es una función similar a alert(); pero esta nos muestra una caja rellenable de información.
2. Con la función prompt(); podemos agregar un valor dentro de la caja sin embargo es necesario usar parseInt() para obtener el valor numérico.
3. Como parseInt(); también existe parseFloat(); , que es para obtener valores con decimales.

Hola profesor buenas noches, en virtud a mi labor como docente de matemáticas y debido a este proceso virtual,ingreso nuevamente para continuar aprendiendo programación básica. Agradezco su grandiosa solidaridad por su colaboración con este valioso proceso de formación.

Muy buena clase. Por otro lado, para los que puedan tener la misma pregunta que me surgió en medio del vídeo, si queremos tener aún un número con decimales, pero controlar la cantidad, es decir, dejarlo sólo con 1, 2, 3, etc, lo podemos hacer con la función toFixed() en este ejercicio podríamos agregarlo así por ejemplo: peso_final.toFixed(2) y esto nos arrojaría el mismo resultado pero con 2 decimales. Lo importante de esta función es que no sólo quita los decimales, sino que redondea.

En la realidad tenemos que usar decimales y podemos usar la funcion toFixed(cantidadDecimales);
Entonces tendriamos que nuestro peso_final = 34.6546849531213213
si escribimos:
peso_final = peso_final.toFixed(2); // siendo 2 el numero de decimales con los que trabajaremos
en el documento nos saldria 34.65, siendo una informacion más precisa

Aquí voy aprender lo que no me enseñan en la escuela

Esta buena la documentacion que hay en internet, logre hacerlo con formulario

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>MyFirst</title>
    <style>
        body
        {
            background-color: cadetblue;
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
        }
        p
        {
            color: rgb(32, 32, 32);
        }
        strong
        {
            color: rgb(185, 40, 40);
        }
    </style>
</head>
<body>

    <p>What's your  <strong>Weight</strong> in other planets</p>
    <p>But first... Whats your weight on the earth</p>
    
    <form action="" method="get">
        <input id="input" type="text" placeholder="Kg">
        <input id="button" type="button" value="check">
    </form>
    
    <p class="edit"></p>
    <p class="edit"></p>
    <p class="edit"></p>

    <script>
        document.addEventListener("DOMContentLoaded", function()
        {
            var acc = [9.8, 3.77, 24.8];
            var planets = ["earth", "mars", "jupiter"];
            var usrWeight = 0;
            var result = [0, 0, 0];
            var outHTML = document.getElementsByClassName("edit");

            document.getElementById('button').onclick = function()
            {
                usrWeight = document.getElementById("input").value
                for(var i in acc)
                {
                    result[i] = (usrWeight * acc[i]) / acc[0];
                    outHTML[i].innerHTML = "Your weight on " + planets[i] + " is: " + parseFloat(result[i]).toFixed(2) + " kg";
                }
            }
        });
    </script>

</body>
</html>

parseInt: Elimina los números decimales.
parseFloat: agrega números decimales.

Lo mejor es escuchar todo el video, y una vez sabes que tiene que hacer tu programa, lo programas solo y miras que si corre 😄

<!DOCTYPE html>
<html>
<head>
<title>Tu no estas gordo solo estas en el planeta equivocado</title>
</head>

hola! la verdad es que desde la clase anterior cuando coloco el alert me aprece de primeras al cargar la pagina, no importa que lo coloque en la parte de abajo antes de el </script> me sigue apareciendo de primeras sin dejar leer el <body>, alguien me dice el por que?

Siempre podemos utilizar parseInt para hacer de un texto un número?

Excelente explicación! Soy un novato. Me gusta la programación aunque estoy comenzando desde 0, entiendo muy bien, la razón? muy buen profesor. Gracias

Flujos y condicionales, aquí la cosa se pone buena mi hermano.

Ser autodidacta está bien, pero encontré al profesor definitivo. No me moveré de Platzi (ojo que no me pagaron para decir esto jajaja)

prompt("") = Esto es una pantalla flotante para poder capturar datos.
La parte de “inspeccionar” en google crome funciona para saber el estado de las variables.
Para poder trabajar con la captura de datos de “prompt” haciendo así que lo que capture se convierta en un número y no este en texto se utiliza “parseInt”
**Concatenar: **Pegar cadenas de texto a variables.
Para JavaScript las etiquetas html son texto plano así que no se podrá escribir etiquetas html fuera de una linea de texto entre comillas.
parseFloat: funciona para traer un numero flotante es decir un numero con decimales al contrario de "parteInt " que solo traía números enteros.

para mover la linea de codigo pueden usar la tecla alt sostenida con fecha arriba o fecha abajo

la verdad estos videos me solucionan la carrera de analista de sistema que estoy cursando, entiendo mejor, muchas gracias por brindar estos cursos gratuitos, me solucionan la vida universitaria 😃

Practicando descubrí que JavaScript tiene una función para convertir en negrita llamada bold(), que se le agrega al final con un punto.

   var peso = 50;
    var gravedadTierra = 9.8;
    var gravedadMarte = 3.7;
    var gravedadJupiter = 24.8;

    var pesoMarte = (peso * gravedadMarte)/gravedadTierra;
    var pesoJupiter = (peso * gravedadJupiter)/gravedadTierra;

    
    document.write("Tu peso en Marte es: " + pesoMarte.toFixed().bold() + " Kg".bold())

El resultado es:
Tu peso en Marte es: 19 Kg

Xq si tengo el codigo exactamente igual el prompt se me carga antes que el resto de la pagina ?

Es decir, cargo el código y lo primero que sale es el prompt “Cual es tu peso?” y despues que coloco el peso me carga el resto de la pagina “Tu peso en otro planeta … etc”. Y así me pasa con todos los códigos, siempre me carga el alerta antes.

Aiiudaa

nadie les gusta los decimales pero a veces son importantes

tambien las letras negritas, pueden hacerse con <b> texto <\b>

Un punto importante es que el método prompt() recibir un valor que haya introducido el usuario sea letras, símbolos o números. Este devuelve la información como cadena. Si el usuario no introduce nada, este devolverá vacío o null.

Ha sido el cierre de clase con el mayor suspenso con el que me he quedado!
A medida que uno le va cogiendo las ganas a programar más,
se vuelve más fácil de digerir lo que nos explicas y sumamente
divertido!
GRACIAS, Freddy!
*Expresión que ya es y seguirá siendo una constante durante todo el curso XD.

.-Usando prompt, se obtienen los datos del usuario.
.-revisando el estado de la variable introducida en prompt, usando consola, se puede ver su valor actual, pero queda entre comillas, lo que indica que es un texto.
.-Con parseInt se obtiene una variable entera.
.-Con parseFloat se obtiene una variable de punto flotante.
.-Ya tenemos una calculadora para el eso en marte.

Un cordial saludo, espero que la versión de mi proyecto les guste y principalmente aporte a su conocimiento, les dejo este enlace: https://dereksamuel.github.io/Interplanetary-Weigth/src/PESO/index.html

Pueden usar este método si quieren trabajar con tipo float pero no quieren su resultando con tantos decimales.

document.write(`Tu peso en marte es <strong>${peso_final.toFixed(2)} kilos<strong/>`)

El método funciona de la siguiente manera: usamos como objeto la variable o literal float a la cual querremos reducir o aumentar sus decimales y pasamos como argumento la cantidad de decimales que queremos que tenga nuestra variable o literal.

Cosas como estas son las que debemos enseñarles a nuestros hijos…

Decidí aplicarle un poco de estilos, como quien practico lo aprendido en el curso de html y css:

![](Captura de pantalla de 2020-05-04 22-32-57.png)

Se pueden truncar la cantidad de decimales que queremos ver: 

var num = 5.56789;
var n = num.toFixed(2);

Resultado:

n = 5.57


Pero si alguien pone texto en el prompt, el resultado es NaN, ¿como validamos que solo introduzca números?

Captura de pantalla de 2020-04-01 17-57-35.png

buenardo

no me sentía capaz de llegar hasta aqui ❤️

¡Hola! Quería compartir una función con ustedes, se llama: toFixed();
Si a alguno le interesa utilizar decimales, pero quisiera que se mostraran únicamente un par de ellos, pueden usar esta función. De la siguiente manera:

<code>
nombre_variable = nombre_variable.toFixed(Cantidad_Decimales); 

Aquí lo que se está haciendo es asignar a la misma variable el valor de tipo flotante pero con los decimales que quisieras. Para este pograma sería (yo escogí dos decimales):

<code>
<script>

                    // Peso del usuario en la Tierra
            var usuario = prompt("¿Cuál es tu peso?"); 
            var peso_Tierra = parseFloat(usuario);

                    // Aceleración de la gravedad en los planetas de la Vía Láctea
            // Unidades del SIM: m/s^2
            var g_Tierra = 9.8; 
            var g_Luna = 1.62;
            var g_Marte = 3.7; 
            var g_Jupiter = 24.8;

                    // Peso en otro planeta
            var peso_final; 
            peso_final = peso_Tierra * g_Marte / g_Tierra; 
            peso_final = peso_final.toFixed(2);
            document.write("Tu peso en Marte es <strong>" + peso_final + " kg.</strong>");

</script>

Y se vería así:
ayuda.PNG

var Love: prompt(“Cuanto me amas?”);

document.write("Yo te amo " + Love);

la palabra document no me cambia a amarillo

Yo creo que en el minuto 8:30 era tu oportunidad para enseñar como poner un flotante con solo un decimal o dos.

Que buen profesor es Freddy. :’) Que emoción. Desde el 2004 que he tomado clases de programación y nunca había logrado no quedarme dormida en los primeros 10 minutos. Y nunca pasé de eso. Prefería estudiar química, matemática, biología, filosofía, portugués, inglés, leyes, física, marketing, historia, etc. Pero jamás “algo que tuviera que ver computadoras”. Al parecer al fin me dignaré a estudiar esto. haha Gracias Freddy y Platzi. ❤️

Tu masa en marte es … No, tu peso, recordemos que el peso esta afectado por la gravedad. p = m.g… pdt: me lo enseño mi esposa.

Y si fuera en otras Galaxias

Veo que cuando usamos “prompt” no podemos usar interrogantes al principio y que, todavía, no has explicado cómo usar tildes, cierto? Lo interpreta mal al ejecutar el navegador. Espero más adelante nos permitas escribir con rectitud 😉

<!DOCTYPE html>
<html>
  <head>
    <title>Tu peso en otro planeta</title>
    <style rype="text/css">
      body
      {
        background-color: black;
        color: green;
        font-family: Helvetica;
      }
      strong
      {
        background-color: yellow;
      }
    </style>
  </head>
  <body>
    <h1><strong>--Tu peso en otro planeta--</strong></h1>
    <p>En la tierra pesas distinto que en Marte o Jupiter</p>
    <script type="text/javascript">
      var usuario = prompt("¿Cuál es tu peso? (solo numeros enteros)");
      var g_tierra = 9.8;
      var g_marte = 3.7;
      var g_jupiter = 24.8;
      var peso = parseInt(usuario);
      var peso_final;
      peso_final = (peso * g_marte / g_tierra);
      peso_final = parseInt(peso_final);
      document.write("Tu peso final es <strong>"+ peso_final + " Kg</strong>");
    </script>
  </body>
<html>```

Aprovechando la cuarentena jajajaja

Ingresar datos:
prompt("<mensaje>") → genera una ventana emergente donde podemos igresar datos; devuelve una cadena de texto
Cambiar el tipo de datos:
parseInt(<valor>) → convierte a enteros
parseFloat(<valor>) → convierte a decimales (flotantes)

Logre que todo el texto dentro de la etiqueta script se cambiará su formato al poner un <h3> antes y por su puesto lo cerré justo después de la etiqueta </script>.
Les comparto mi codigo que tiene otros conceptos de física clásica, está basado en el código de Klaus:

<!DOCTYPE html>
<html>
<head>
  <title>Tu peso en otros planetas del sistema solar</title>
  <style>
    body
    {
      background-color: black;
      color: white;
      font-family: Helvetica;
    }
  </style>
</head>
<body>
  <h1>Tu peso en marte, la tierra y jupiter</h1>
  <h4>Pm = Pt * Gm / Gt</h4>
  <p>Donde:</p>
  <p>Pm: Peso en marte(Kgf)</p>
  <p>Pt: Peso tierra (Kgf)</p>
  <p>Gm: Gravedad en marte (m/s2)</p>
  <p>Gt: Gravedad en la tierra</p>
  <p>En fisica clasica sabemos que:</p>
  <h4>P = m * g </h4>
  <p>m: Masa corporal (kg)</p>
  <p>P: Peso (N)</p>
  <p>g: Gravedad del planeta donde te encuentres (m/s2)</p>
  <h4>1 Newtown = 9.807</h4>
  <h3>
    <script>
      var usuario = prompt("Cual es tu Peso?");
      var ptierra;
      var gravedad_tierra = 9.81;
      var gravedad_marte = 3.7;
      var gravedad_jupiter = 24.8;
      var masa_corporal;
      var pmarte;
      var pjupiter;
      var ntierra;
      var nmarte;
      usuario = parseFloat(usuario);
      ptierra = usuario.toFixed(2);
      pmarte = ptierra * gravedad_marte / gravedad_tierra;
      ntierra = ptierra * 9.807;
      ntierra = ntierra.toFixed(2);
      masa_corporal = ntierra / gravedad_tierra;
      masa_corporal = masa_corporal.toFixed(2);
      pmarte = pmarte.toFixed(2);
      nmarte   = pmarte * 9.807;
      nmarte = nmarte.toFixed(2);
      document.write("Esta persona tiene una masa corporal de " + masa_corporal +" Kg, en la tierra esto pesa " + ptierra + " Kgf lo que equivale a " + ntierra + " N, en marte la misma masa corporal pesa " + pmarte +" Kgf, lo que equivale a " + nmarte + " N");
    </script>
  </h3>
</body>
</html>

amo este curso!!! :3 😃

denme corazon uwu

Es decir que, en la parte que pones el texto en negrita, si uno quiere que sólo se vea el número del resultado en negrita el código sería:

document.write("Tu peso en marte es <strong>" + peso_final + " </strong>kilos");

¿Están de acuerdo?

holaaa soy esteban y tengo 10 años y este curso esta super interesante 100% recomendado

Apuntes de la clase:

  • Podemos usar la funcion prompt para recibir datos de usuario.
  • Concatenar es unir cadenas de texto a variables.
  • Los espacios también son elementos de las cadenas de texto y tienen que ir dentro de comillas.
  • Las etiquetas tambien son una cadena de texto en JavaScript por ende las etiquetas no pueden ir por fuera de las comillas.
  • Cuando tienen un valor en comillas ("") es un texto.
  • Los errores mostrados en la consola se deben a que nuestro codigo contiene un error.
  • La consola nos sirve para saber el estado de las variables.
  • Un numero flotante es un numero que tiene decimales.

todo estos comentros hace cuatro años estams 2020

¿ que función debo de utilizar para mantener los números flotantes?, pero solo un par de ellos

hola porque las operaciones no llevan una etiqueta?

prompt es una funcion si o no ?

Este es un ejercicio que hice por mi cuenta con lo aprendido en esta clase, tome los elementos para buscar otro resultado utilizando el precio y la cantidad de productos. Es sencillo pero que me hizo repasar lo aprendido.

var usuario = prompt( "¿Cuentas cubetas de pintura agregaras al carrito?");
var cantidad = parseInt(usuario);
var preciounit = 1800;
var metroCuadr = 2.5;
var precio_final;
precio_final = (preciounit * usuario);
superficie = (metroCuadr * usuario);
document.write("<h1> Su pedido tiene un costo de <strong>"+ precio_final + " pesos<h1>");
document.write("Y cubre "+ superficie + " metros cuadrados.");```



/)°o°(\ ¿¡Que clase de brujería es esa?! 

Sin título.jpg

Con 2 decimales

me gustaria limitar la cantidad de decimales se puede poner el float con solo 2 decimales maximo 3

GRACIAS 😮

¿Cómo podemos obtener datos del sistema, tipo (hora-fecha, navegador, sistema operativo, idioma, entre otros)?

yo no use parseFloat ni parseInt en la variable
var peso = usuario; lo deje asi tal cual y me funciono.

<!DOCTYPE html>
<html>
  <head>
    <title> Tu peso en un lugar donde pesas menos </title>
  </head>
  <body>
    <h1>Tu peso en otro planeta</h1>
    <p>En la tierra pesas distinto que en Marte, Jupiter o Krypton</p>
    <script>
      var usuario = prompt("Cual es tu peso");
      var planeta = parseInt(prompt("Elige tu planetan\n 1 es Marte, 2 es Jupiter, 3 es Krypton"));
      var peso = parseInt(usuario);
      var g_tierra = 9.8;
      var g_marte = 3.7;
      var g_jupiter = 24.8;
      var g_Krypton = 20;
      var peso_final;
      var nombre;
      if (planeta ==1)
      {
        peso_final = peso * g_marte / g_tierra;
        nombre = " Marte "
      }
      else if(planeta == 2)
      {
        peso_final = peso * g_jupiter / g_tierra;
        nombre = " Jupiter "
      }
      else if(planeta == 3)
      {
        peso_final = peso * g_Krypton / g_tierra;
        nombre = " Krypton "
      }
      else
      {
        peso_final = 1000000
        nombre = " Vida real "
      }
      peso_final =parseInt(peso_final);
      document.write("Tu peso en" + nombre + " es <strong>" + peso_final + " kilos </strong>");
    </script>
  </body>
</html>```

A mi no me funcionó, ¿qué hago?

¿Cómo forzo a que me redondeen un número a dos decimales?

  • La consola nos sirve para saber el estado de las variables.

  • Cuando tienen un valor en comillas("") es un texto o string.

  • Puedes usar la función prompt para recibir datos del usuario.

  • Concatenar es unir cadenas de texto a variables.

  • parseInt es para mostrar números sin decimales.

  • parseFloat es para mostrar números con decimales por pantalla.

no pense que e switch funcionara igual que en otros lenguajes xD
<html>
<head>
<title>
medir tu peso en otros planetas
tu peso en otros planetas
</title>
</head>
<body>
<h1>escoge una opcion</h1>
<h2>1. medir tu peso en marte<br>
2. medir tu peso en jupiter <br>
3. medir tu peso en la tierra<h2>
<script>
var peso=prompt("Calcular peso en otros planetas\nIngrese el peso: ");
var opcion=prompt(“Ingresa una opcion\n1. medir tu peso en marte\n2. medir tu peso en jupiter\n3. medir tu peso en la tierra”);
document.write("la opcion ingresada: “+opcion+”<br>el peso final es: ");
switch (parseInt(opcion)) {
case 1:document.write(parseInt(peso=(3.7peso)/9.8));break;
case 2:document.write(parseInt(peso=(24.8
peso)/9.8));break;
case 3:document.write(parseInt(peso));break;
default:document.write(“Error <br> la opcion ingresada es erronea”);
alert(“Error, la opcion ingresada es errona”);
}
</script>
</body>
<html>

normal equivocarse y ver por que el codigo se rompio y darte cuenta de que haz cometido un error de sintaxis jajajajaja

Muy buena explicación, es el primer curso que tomo en platzi y al terminar este si o si me iré a por otro, me encanta 😄

Les dejo mis notas de la clase, lo que creo que es más importan de esta clase.

https://drive.google.com/file/d/1gV52aDUJNN1laHNU_Rgebrn-3yi-rdaa/view?usp=sharing

Me carga el script antes que el contenido de la pagina. Como lo puedo solucionar?

Pasito a pasito…

Atom no me resalta las variables ni nada dentro del script ¿Cómo hago para que sea más comodo de visualizar?

Alguien sabe por qué:
*el document me aparece en color rojo y no en amarillo
*me carga primero el document.write y despues la informacion del body. Me explico, al aparecer el document.write solicitando el peso, el fondo esta en blanco.

parseFloat ayuda visualizar los decimales.

Me encanta la manera que enseña,entiendo muy bien.

Pueden ver más sobre Javascript aquí: https://www.w3schools.com/JS/

Hola , como hago para que el código en Atom me salga en colore como en la grabación? Gracias

Si quieren que les muestre los decimales en el resultado pueden usar la función toFixed() y especifican en el parámetros “Los paréntesis” cuantos decimales quieren dejar.

Ayuda, no entiendo que error estoy cometiendo. Me aparece primero el prompt y luego de rellenarlo carga la página

<!DOCTYPE html>
<html>
<head>
<title>Tu peso en un lugar donde pesas menos</title>
</head>
<body>
<h1>Tu peso en otro planeta</h1>
<p>En la tierra pesas distinto que en marte o jupiter</p>
<script>
var usuario = prompt(“Cual es tu peso?”);
var peso = parseInt(usuario);
var g_tierra = 9.8;
var g_marte = 3.7;
var g_jupiter = 24.8;
var peso_final;
peso_final = peso * g_marte / g_tierra;
peso_final = parseInt(peso_final);
document.write(“Tu peso en marte es <strong>” + peso_final + " Kilos</strong>");
</script>
</body>
</html>

Marte.png

<html>
<head>
<title>tu peso en otros planetas</title>
<body>
<style>
body
{
background-color: white;
color:black;
}
</style>
</head>
<h1>tu peso en la tierra no es lo mismo en marte o jupiter</h1>
<h2>te lo muestro mira aqui abajo</h2>
<script>
var usuario = prompt("¿cual es tu peso?");
var peso = Parseint(usuario);
var g_tierra = 9.8;
var g_marte = 24.7;
var g_jupiter = 3.8;
var peso_final;
peso_final = peso * g_marte / g_tierra;
peso_final = PareseInt(peso_final);
Document.write("tu peso en marte es "+ peso_final);
</script>
</body>
</html>

Este es mi codigo, en el cual se puede ingresar la gravedad personalizada, asi se puede saber el peso en cualquier planeta el cual se conozca su gravedad.

<!DOCTYPE html>
<html>
	<head>
		<style type="text/css">
			body
			{
				font-family: Helvetica;
			}
		</style>
		<title>Tu peso a nivel interplanetario</title>
	</head>
	<body>
		<h1>Tu peso en otro planeta!!</h1>
		<p>En la tierra pesas distinto que en Marte o Jupiter!</p>
		<script>
			var usuario = parseFloat(prompt("Ingrese su peso"));
			var planeta= parseInt(prompt("Elige tu planeta :D \n1 es Marte \n2 es Jupiter\n3 Gravedad personalizada"));
			var peso=usuario;
			var g_tierra=9.8;
			var g_marte=3.7;
			var g_jupiter=24.8;
			var peso_final;
			var nombre_p;
			if(planeta == 1)
			{
				peso_final=(peso * g_marte)/g_tierra;
				nombre=("Marte");
				document.write("Mi peso en "+ nombre +" es <strong>" + peso_final + "</strong> Kg");
			}
			else if(planeta == 2)
			{
				peso_final=(peso * g_jupiter)/g_tierra;
				nombre=("Jupiter");
				document.write("Mi peso en "+ nombre +" es <strong>" + peso_final + "</strong> Kg");
			}
			else if (planeta == 3)
			{
				var g_personal=prompt("Ingrese la gravedad");
				peso_final=(peso * g_personal)/g_tierra;
				document.write("Mi peso en este planeta es " + peso_final + "Kg");
			}
			else
			{
				document.write("Debes seleccionar una opcion valida");
			}
			//document.write("Mi peso en marte es <strong>" + peso_final + "</strong> Kg");
		</script>
	</body>
</html>

Chale, lo programo a los 13 años y yo aquí con el doble apenas aprendiendo, que atrasada me siento.

Que facil se ve programar, muy buen maestro.

f en el cha

f en el chat

Me di cuenta que si escribo el código sin parseInt(usuario); el mismo funciona igual. Es decir:

<!DOCTYPE html>
<html>
  <head>
    <title> Cuanto pesas en... </title>
  </head>
  <body>
    <h1> Tu peso en otro planeta
      <p> En la Tierra pesas distinto que en Marte o Jupiter </p>
      <script>
        var usuario = prompt("Cual es tu peso?")
        var peso = usuario;
        var g_tierra = 9.8;
        var g_marte = 3.7;
        var g_jupiter = 24.8;
        var peso_final;
        peso_final = peso * g_marte / g_tierra;
        peso_final = parseInt(peso_final);
        document.write(peso_final);
        </script>
  </body>
</html>

¿Por qué sucede?

Un consejo para los nuevos en el código.
Usar visual-studio-code tiene herramientas que te pueden ayudar a avanzar mas rápido

parseInt: tranforma a numeros enteros
parseFloat: transforma a numero flotante (decimales)

Es verdad, a nadie le gustan los decimales, pero si quieres que no te salga esa chorrera de números, digamos que te salgan sólo 2, puedes escribir


peso_final = (peso_final.toFixed(2));


El método "toFixed ()" se utiliza para mantener una cantidad especifica de decimales.

📌 La función parseFloat() nos sirve para convertir una cadena o número entero a un número con punto decimal.

var cadena = "120";
var numero_entero = 10;
var numero_punto_decimal = parseFloat(cadena) / parseFloat(numero_entero);

Para que no nos salgan tantos decimales como queramos podemos usar el método toFixed()


Por ejemplo:

var peso = 77.545674;
peso = peso.toFixed(2); //en paréntesis ponemos el número de decimales que queremos


Y cuando queramos averiguar el valor de peso nos redondeará a ese número de decimales.


peso
77.55
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Tu peso en un lugar donde pesas menos</title>
  </head>
  <body>
    <h1>Tu peso en otro planeta</h1>
    <!-- Los titulos se pueden agregar con las etiquetas h1, h2, h3, h4, h5, h6 -->
    <p>En la tierra pesas distinto que en marte o jupiter</p>
    <script type="text/javascript">
      var usuario = prompt("Cual es tu peso?");
      // La funcion prompt funciona igual que un alert y sirve para obtener datos del usuario
      var peso = parseInt(usuario);
      /* IMPORTANTE: Todos los valores que recibimos del usuario por medio de cajas de texto con boton
      (prompts, alerts, etc..), el navegador los trae por defecto como strings y debemos convertirlos
      (lo podemos hacer por medio de parseInt) */
      var g_tierra = 9.8;
      // Variable de tipo float (decimales)
      var g_marte = 3.7;
      var g_jupiter = 24.8;
      // Variable de tipo int (enteros)
      var peso_final;
      peso_final = peso * g_marte / g_tierra;
      peso_final = parseInt(peso_final);
      /* La funcion parseInt convierte las variables de tipo float(decimales) a tipo int(entero),
      parseFloat en cambio hace lo contrario */
      document.write("Tu peso en marte es <strong>" + peso_final + " kilos<strong/>");
      // Esto se llama concatenar (unir cadenas de texto a variables)
      /* IMPORTANTE: Las etiquetas tambien son cadenas de texto en js, entonces no pueden ir asi:
      document.write("Tu peso en marte es " <strong> + peso_final + <strong/>" kilos");
      Es decir no pueden ir por fuera del texto */
    </script>
  </body>
</html>

Aca les dejo mi repositorio.
https://utoskydive.github.io/PesoPlanetas.io/

yo hice un codigo diferente para que me digacuanto vale en marte y en jupiter de una vez :)


<!DOCTYPE html>

<html>

<head>

<title>Tu peso en un lugar donde pesas menos</title>

</head>

<body>

<h1>Tu peso en otro planeta</h1>

<p>En la tierra pesas distinto que en Marte o Jupiter</p>

<script>

var usuario = prompt('cual es tu peso')

var gt = 9.8;

var gm = 3.7;

var gj = 24.8;

p = (usuario);

p = parseInt(p)

pm = p * gm / gt;

pj = p * gj / gt;

pm = parseInt(pm);

pj = parseInt(pj);

document.write('Tu peso en la tierra es '+p+' kilos, tu peso en marte es ' +pm+' kilos, tu peso en jupiter es '+pj+' kilos.');

</script>

</body>

</html>

 

Si no quieren que se muestren tantos números decimales, pueden usar el método Tofixed(), ejemplo:
Inkedcode_LI.jpg

El número dentro de los paréntesis representa cuántos números después del punto decimal quieren que aparezcan en pantalla. En mi ejemplo, sólo aparecerán dos números.

Resultado:
Captura.PNG

Si quieren poner dos decimales pueden usar

parseFloat(usuario).toFixed(2);

Es una muy buena técnica. Queda más ordenado

Hice uno donde muestra el peso en cada planeta y da la opción de calcularlo en otro ingresando su gravedad manualmente!, aquí lo dejo por si les sirve =)

<!DOCTYPE html>
<html>
	<head>
		<title>PESO SEGUN PLANETA</title>
		<style>
		body{
			background-image: url(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSJT7Oi13K4hBgvmruhLjFeiuFjPd_rvjF6FOMxDcMzrQr50KauCw);
			color: white;
		}
	</style>
	</head>
	<body>
		<h1>Su peso segun tu planeta</h1>
		<script type="text/javascript">
			var g_mercurio = 3.7;
			var g_venus = 8.87;
			var g_tierra = 8.9;
			var g_marte = 3.7;
			var g_jupiter = 24.8;
			var g_saturno = 10.44;
			var g_urano = 8.7;
			var g_neptuno = 11.15;
			var g_desconocido;
			var peso = prompt("Cuanto pesas en la tierra?");
			document.write("Su peso en Mercurio es:" +(g_mercurio*peso/g_tierra).toFixed(2)+"<br />");
			document.write("Su peso en Venus es:" +(g_venus*peso/g_tierra).toFixed(2)+"<br />");
			document.write("Su peso en Marte es:" +(g_marte*peso/g_tierra).toFixed(2)+"<br />");
			document.write("Su peso en Jupiter es:" +(g_jupiter*peso/g_tierra).toFixed(2)+"<br />");
			document.write("Su peso en Saturno es:" +(g_saturno*peso/g_tierra).toFixed(2)+"<br />");
			document.write("Su peso en Urano es:" +(g_urano*peso/g_tierra).toFixed(2)+"<br />");
			document.write("Su peso en Neptuno es:" +(g_neptuno*peso/g_tierra).toFixed(2)+"<br />");
			var resp_1 = prompt("Quieres saber tu peso en otro planeta? s=si | n=no");


				if((resp_1 == "s")||(resp_1 == "S")){
					var g_desconocido = prompt("ingrese su gravedad");
					document.write(" Su peso en ese planeta es:" +(g_desconocido*peso/g_tierra).toFixed(2)+" (Dado que su gravedad es " +g_desconocido +").<br />");
				}
		</script>
	</body>
</html>
 var num = 5.56789;
var n = num.toFixed(2);

De esa manera puedes manejar la precisión, o la cantidad de dedecimales que desees mostrar, cuando lo haces de esta manera n es una variable de tipo string en el resultado.


Entonces obtenemos que n = 5.57

 

un ejemplo de como se limitaría a solo 2 decimales tu peso tipo float.


<script>

        var g_tierra=9.8;

        var g_marte=3.7;

        var g_jupiter=24.8;

        

        //pidiendo peso desde navegador

        var peso=prompt("Ingresa tu peso:");

        var peso_final;

       

        //peso en marte

        peso_final=peso*g_marte/g_tierra;

        peso_final=parseFloat(peso_final).toFixed(2);

        document.write("Tu peso en Marte es: <b>"+peso_final+" Kg</b>"+"</br>");

        

       

        //peso en jupiter

        peso_final=peso*g_jupiter/g_tierra;

        peso_final=parseFloat(peso_final).toFixed(2);

        document.write("Tu peso en Jupiter es: <b>"+peso_final+" Kg</b>");

        

    </script>

highlights
1, prompt(); es una función similar a alert(); pero esta nos muestra una caja rellenable de información.
2. Con la función prompt(); podemos agregar un valor dentro de la caja sin embargo es necesario usar parseInt() para obtener el valor numérico.
3. Como parseInt(); también existe parseFloat(); , que es para obtener valores con decimales.

Hola profesor buenas noches, en virtud a mi labor como docente de matemáticas y debido a este proceso virtual,ingreso nuevamente para continuar aprendiendo programación básica. Agradezco su grandiosa solidaridad por su colaboración con este valioso proceso de formación.

Muy buena clase. Por otro lado, para los que puedan tener la misma pregunta que me surgió en medio del vídeo, si queremos tener aún un número con decimales, pero controlar la cantidad, es decir, dejarlo sólo con 1, 2, 3, etc, lo podemos hacer con la función toFixed() en este ejercicio podríamos agregarlo así por ejemplo: peso_final.toFixed(2) y esto nos arrojaría el mismo resultado pero con 2 decimales. Lo importante de esta función es que no sólo quita los decimales, sino que redondea.

En la realidad tenemos que usar decimales y podemos usar la funcion toFixed(cantidadDecimales);
Entonces tendriamos que nuestro peso_final = 34.6546849531213213
si escribimos:
peso_final = peso_final.toFixed(2); // siendo 2 el numero de decimales con los que trabajaremos
en el documento nos saldria 34.65, siendo una informacion más precisa

Aquí voy aprender lo que no me enseñan en la escuela

Esta buena la documentacion que hay en internet, logre hacerlo con formulario

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>MyFirst</title>
    <style>
        body
        {
            background-color: cadetblue;
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
        }
        p
        {
            color: rgb(32, 32, 32);
        }
        strong
        {
            color: rgb(185, 40, 40);
        }
    </style>
</head>
<body>

    <p>What's your  <strong>Weight</strong> in other planets</p>
    <p>But first... Whats your weight on the earth</p>
    
    <form action="" method="get">
        <input id="input" type="text" placeholder="Kg">
        <input id="button" type="button" value="check">
    </form>
    
    <p class="edit"></p>
    <p class="edit"></p>
    <p class="edit"></p>

    <script>
        document.addEventListener("DOMContentLoaded", function()
        {
            var acc = [9.8, 3.77, 24.8];
            var planets = ["earth", "mars", "jupiter"];
            var usrWeight = 0;
            var result = [0, 0, 0];
            var outHTML = document.getElementsByClassName("edit");

            document.getElementById('button').onclick = function()
            {
                usrWeight = document.getElementById("input").value
                for(var i in acc)
                {
                    result[i] = (usrWeight * acc[i]) / acc[0];
                    outHTML[i].innerHTML = "Your weight on " + planets[i] + " is: " + parseFloat(result[i]).toFixed(2) + " kg";
                }
            }
        });
    </script>

</body>
</html>

parseInt: Elimina los números decimales.
parseFloat: agrega números decimales.

Lo mejor es escuchar todo el video, y una vez sabes que tiene que hacer tu programa, lo programas solo y miras que si corre 😄

<!DOCTYPE html>
<html>
<head>
<title>Tu no estas gordo solo estas en el planeta equivocado</title>
</head>

hola! la verdad es que desde la clase anterior cuando coloco el alert me aprece de primeras al cargar la pagina, no importa que lo coloque en la parte de abajo antes de el </script> me sigue apareciendo de primeras sin dejar leer el <body>, alguien me dice el por que?

Siempre podemos utilizar parseInt para hacer de un texto un número?

Excelente explicación! Soy un novato. Me gusta la programación aunque estoy comenzando desde 0, entiendo muy bien, la razón? muy buen profesor. Gracias

Flujos y condicionales, aquí la cosa se pone buena mi hermano.

Ser autodidacta está bien, pero encontré al profesor definitivo. No me moveré de Platzi (ojo que no me pagaron para decir esto jajaja)

prompt("") = Esto es una pantalla flotante para poder capturar datos.
La parte de “inspeccionar” en google crome funciona para saber el estado de las variables.
Para poder trabajar con la captura de datos de “prompt” haciendo así que lo que capture se convierta en un número y no este en texto se utiliza “parseInt”
**Concatenar: **Pegar cadenas de texto a variables.
Para JavaScript las etiquetas html son texto plano así que no se podrá escribir etiquetas html fuera de una linea de texto entre comillas.
parseFloat: funciona para traer un numero flotante es decir un numero con decimales al contrario de "parteInt " que solo traía números enteros.

para mover la linea de codigo pueden usar la tecla alt sostenida con fecha arriba o fecha abajo

la verdad estos videos me solucionan la carrera de analista de sistema que estoy cursando, entiendo mejor, muchas gracias por brindar estos cursos gratuitos, me solucionan la vida universitaria 😃

Practicando descubrí que JavaScript tiene una función para convertir en negrita llamada bold(), que se le agrega al final con un punto.

   var peso = 50;
    var gravedadTierra = 9.8;
    var gravedadMarte = 3.7;
    var gravedadJupiter = 24.8;

    var pesoMarte = (peso * gravedadMarte)/gravedadTierra;
    var pesoJupiter = (peso * gravedadJupiter)/gravedadTierra;

    
    document.write("Tu peso en Marte es: " + pesoMarte.toFixed().bold() + " Kg".bold())

El resultado es:
Tu peso en Marte es: 19 Kg

Xq si tengo el codigo exactamente igual el prompt se me carga antes que el resto de la pagina ?

Es decir, cargo el código y lo primero que sale es el prompt “Cual es tu peso?” y despues que coloco el peso me carga el resto de la pagina “Tu peso en otro planeta … etc”. Y así me pasa con todos los códigos, siempre me carga el alerta antes.

Aiiudaa

nadie les gusta los decimales pero a veces son importantes

tambien las letras negritas, pueden hacerse con <b> texto <\b>

Un punto importante es que el método prompt() recibir un valor que haya introducido el usuario sea letras, símbolos o números. Este devuelve la información como cadena. Si el usuario no introduce nada, este devolverá vacío o null.

Ha sido el cierre de clase con el mayor suspenso con el que me he quedado!
A medida que uno le va cogiendo las ganas a programar más,
se vuelve más fácil de digerir lo que nos explicas y sumamente
divertido!
GRACIAS, Freddy!
*Expresión que ya es y seguirá siendo una constante durante todo el curso XD.

.-Usando prompt, se obtienen los datos del usuario.
.-revisando el estado de la variable introducida en prompt, usando consola, se puede ver su valor actual, pero queda entre comillas, lo que indica que es un texto.
.-Con parseInt se obtiene una variable entera.
.-Con parseFloat se obtiene una variable de punto flotante.
.-Ya tenemos una calculadora para el eso en marte.

Un cordial saludo, espero que la versión de mi proyecto les guste y principalmente aporte a su conocimiento, les dejo este enlace: https://dereksamuel.github.io/Interplanetary-Weigth/src/PESO/index.html

Pueden usar este método si quieren trabajar con tipo float pero no quieren su resultando con tantos decimales.

document.write(`Tu peso en marte es <strong>${peso_final.toFixed(2)} kilos<strong/>`)

El método funciona de la siguiente manera: usamos como objeto la variable o literal float a la cual querremos reducir o aumentar sus decimales y pasamos como argumento la cantidad de decimales que queremos que tenga nuestra variable o literal.

Cosas como estas son las que debemos enseñarles a nuestros hijos…

Decidí aplicarle un poco de estilos, como quien practico lo aprendido en el curso de html y css:

![](Captura de pantalla de 2020-05-04 22-32-57.png)

Se pueden truncar la cantidad de decimales que queremos ver: 

var num = 5.56789;
var n = num.toFixed(2);

Resultado:

n = 5.57


Pero si alguien pone texto en el prompt, el resultado es NaN, ¿como validamos que solo introduzca números?

Captura de pantalla de 2020-04-01 17-57-35.png

buenardo

no me sentía capaz de llegar hasta aqui ❤️

¡Hola! Quería compartir una función con ustedes, se llama: toFixed();
Si a alguno le interesa utilizar decimales, pero quisiera que se mostraran únicamente un par de ellos, pueden usar esta función. De la siguiente manera:

<code>
nombre_variable = nombre_variable.toFixed(Cantidad_Decimales); 

Aquí lo que se está haciendo es asignar a la misma variable el valor de tipo flotante pero con los decimales que quisieras. Para este pograma sería (yo escogí dos decimales):

<code>
<script>

                    // Peso del usuario en la Tierra
            var usuario = prompt("¿Cuál es tu peso?"); 
            var peso_Tierra = parseFloat(usuario);

                    // Aceleración de la gravedad en los planetas de la Vía Láctea
            // Unidades del SIM: m/s^2
            var g_Tierra = 9.8; 
            var g_Luna = 1.62;
            var g_Marte = 3.7; 
            var g_Jupiter = 24.8;

                    // Peso en otro planeta
            var peso_final; 
            peso_final = peso_Tierra * g_Marte / g_Tierra; 
            peso_final = peso_final.toFixed(2);
            document.write("Tu peso en Marte es <strong>" + peso_final + " kg.</strong>");

</script>

Y se vería así:
ayuda.PNG

var Love: prompt(“Cuanto me amas?”);

document.write("Yo te amo " + Love);

la palabra document no me cambia a amarillo

Yo creo que en el minuto 8:30 era tu oportunidad para enseñar como poner un flotante con solo un decimal o dos.

Que buen profesor es Freddy. :’) Que emoción. Desde el 2004 que he tomado clases de programación y nunca había logrado no quedarme dormida en los primeros 10 minutos. Y nunca pasé de eso. Prefería estudiar química, matemática, biología, filosofía, portugués, inglés, leyes, física, marketing, historia, etc. Pero jamás “algo que tuviera que ver computadoras”. Al parecer al fin me dignaré a estudiar esto. haha Gracias Freddy y Platzi. ❤️

Tu masa en marte es … No, tu peso, recordemos que el peso esta afectado por la gravedad. p = m.g… pdt: me lo enseño mi esposa.

Y si fuera en otras Galaxias

Veo que cuando usamos “prompt” no podemos usar interrogantes al principio y que, todavía, no has explicado cómo usar tildes, cierto? Lo interpreta mal al ejecutar el navegador. Espero más adelante nos permitas escribir con rectitud 😉

<!DOCTYPE html>
<html>
  <head>
    <title>Tu peso en otro planeta</title>
    <style rype="text/css">
      body
      {
        background-color: black;
        color: green;
        font-family: Helvetica;
      }
      strong
      {
        background-color: yellow;
      }
    </style>
  </head>
  <body>
    <h1><strong>--Tu peso en otro planeta--</strong></h1>
    <p>En la tierra pesas distinto que en Marte o Jupiter</p>
    <script type="text/javascript">
      var usuario = prompt("¿Cuál es tu peso? (solo numeros enteros)");
      var g_tierra = 9.8;
      var g_marte = 3.7;
      var g_jupiter = 24.8;
      var peso = parseInt(usuario);
      var peso_final;
      peso_final = (peso * g_marte / g_tierra);
      peso_final = parseInt(peso_final);
      document.write("Tu peso final es <strong>"+ peso_final + " Kg</strong>");
    </script>
  </body>
<html>```

Aprovechando la cuarentena jajajaja

Ingresar datos:
prompt("<mensaje>") → genera una ventana emergente donde podemos igresar datos; devuelve una cadena de texto
Cambiar el tipo de datos:
parseInt(<valor>) → convierte a enteros
parseFloat(<valor>) → convierte a decimales (flotantes)

Logre que todo el texto dentro de la etiqueta script se cambiará su formato al poner un <h3> antes y por su puesto lo cerré justo después de la etiqueta </script>.
Les comparto mi codigo que tiene otros conceptos de física clásica, está basado en el código de Klaus:

<!DOCTYPE html>
<html>
<head>
  <title>Tu peso en otros planetas del sistema solar</title>
  <style>
    body
    {
      background-color: black;
      color: white;
      font-family: Helvetica;
    }
  </style>
</head>
<body>
  <h1>Tu peso en marte, la tierra y jupiter</h1>
  <h4>Pm = Pt * Gm / Gt</h4>
  <p>Donde:</p>
  <p>Pm: Peso en marte(Kgf)</p>
  <p>Pt: Peso tierra (Kgf)</p>
  <p>Gm: Gravedad en marte (m/s2)</p>
  <p>Gt: Gravedad en la tierra</p>
  <p>En fisica clasica sabemos que:</p>
  <h4>P = m * g </h4>
  <p>m: Masa corporal (kg)</p>
  <p>P: Peso (N)</p>
  <p>g: Gravedad del planeta donde te encuentres (m/s2)</p>
  <h4>1 Newtown = 9.807</h4>
  <h3>
    <script>
      var usuario = prompt("Cual es tu Peso?");
      var ptierra;
      var gravedad_tierra = 9.81;
      var gravedad_marte = 3.7;
      var gravedad_jupiter = 24.8;
      var masa_corporal;
      var pmarte;
      var pjupiter;
      var ntierra;
      var nmarte;
      usuario = parseFloat(usuario);
      ptierra = usuario.toFixed(2);
      pmarte = ptierra * gravedad_marte / gravedad_tierra;
      ntierra = ptierra * 9.807;
      ntierra = ntierra.toFixed(2);
      masa_corporal = ntierra / gravedad_tierra;
      masa_corporal = masa_corporal.toFixed(2);
      pmarte = pmarte.toFixed(2);
      nmarte   = pmarte * 9.807;
      nmarte = nmarte.toFixed(2);
      document.write("Esta persona tiene una masa corporal de " + masa_corporal +" Kg, en la tierra esto pesa " + ptierra + " Kgf lo que equivale a " + ntierra + " N, en marte la misma masa corporal pesa " + pmarte +" Kgf, lo que equivale a " + nmarte + " N");
    </script>
  </h3>
</body>
</html>

amo este curso!!! :3 😃

denme corazon uwu

Es decir que, en la parte que pones el texto en negrita, si uno quiere que sólo se vea el número del resultado en negrita el código sería:

document.write("Tu peso en marte es <strong>" + peso_final + " </strong>kilos");

¿Están de acuerdo?

holaaa soy esteban y tengo 10 años y este curso esta super interesante 100% recomendado

Apuntes de la clase:

  • Podemos usar la funcion prompt para recibir datos de usuario.
  • Concatenar es unir cadenas de texto a variables.
  • Los espacios también son elementos de las cadenas de texto y tienen que ir dentro de comillas.
  • Las etiquetas tambien son una cadena de texto en JavaScript por ende las etiquetas no pueden ir por fuera de las comillas.
  • Cuando tienen un valor en comillas ("") es un texto.
  • Los errores mostrados en la consola se deben a que nuestro codigo contiene un error.
  • La consola nos sirve para saber el estado de las variables.
  • Un numero flotante es un numero que tiene decimales.

todo estos comentros hace cuatro años estams 2020

¿ que función debo de utilizar para mantener los números flotantes?, pero solo un par de ellos

hola porque las operaciones no llevan una etiqueta?

prompt es una funcion si o no ?

Este es un ejercicio que hice por mi cuenta con lo aprendido en esta clase, tome los elementos para buscar otro resultado utilizando el precio y la cantidad de productos. Es sencillo pero que me hizo repasar lo aprendido.

var usuario = prompt( "¿Cuentas cubetas de pintura agregaras al carrito?");
var cantidad = parseInt(usuario);
var preciounit = 1800;
var metroCuadr = 2.5;
var precio_final;
precio_final = (preciounit * usuario);
superficie = (metroCuadr * usuario);
document.write("<h1> Su pedido tiene un costo de <strong>"+ precio_final + " pesos<h1>");
document.write("Y cubre "+ superficie + " metros cuadrados.");```



/)°o°(\ ¿¡Que clase de brujería es esa?! 

Sin título.jpg

Con 2 decimales

me gustaria limitar la cantidad de decimales se puede poner el float con solo 2 decimales maximo 3

GRACIAS 😮

¿Cómo podemos obtener datos del sistema, tipo (hora-fecha, navegador, sistema operativo, idioma, entre otros)?

yo no use parseFloat ni parseInt en la variable
var peso = usuario; lo deje asi tal cual y me funciono.

<!DOCTYPE html>
<html>
  <head>
    <title> Tu peso en un lugar donde pesas menos </title>
  </head>
  <body>
    <h1>Tu peso en otro planeta</h1>
    <p>En la tierra pesas distinto que en Marte, Jupiter o Krypton</p>
    <script>
      var usuario = prompt("Cual es tu peso");
      var planeta = parseInt(prompt("Elige tu planetan\n 1 es Marte, 2 es Jupiter, 3 es Krypton"));
      var peso = parseInt(usuario);
      var g_tierra = 9.8;
      var g_marte = 3.7;
      var g_jupiter = 24.8;
      var g_Krypton = 20;
      var peso_final;
      var nombre;
      if (planeta ==1)
      {
        peso_final = peso * g_marte / g_tierra;
        nombre = " Marte "
      }
      else if(planeta == 2)
      {
        peso_final = peso * g_jupiter / g_tierra;
        nombre = " Jupiter "
      }
      else if(planeta == 3)
      {
        peso_final = peso * g_Krypton / g_tierra;
        nombre = " Krypton "
      }
      else
      {
        peso_final = 1000000
        nombre = " Vida real "
      }
      peso_final =parseInt(peso_final);
      document.write("Tu peso en" + nombre + " es <strong>" + peso_final + " kilos </strong>");
    </script>
  </body>
</html>```

A mi no me funcionó, ¿qué hago?

¿Cómo forzo a que me redondeen un número a dos decimales?

  • La consola nos sirve para saber el estado de las variables.

  • Cuando tienen un valor en comillas("") es un texto o string.

  • Puedes usar la función prompt para recibir datos del usuario.

  • Concatenar es unir cadenas de texto a variables.

  • parseInt es para mostrar números sin decimales.

  • parseFloat es para mostrar números con decimales por pantalla.

no pense que e switch funcionara igual que en otros lenguajes xD
<html>
<head>
<title>
medir tu peso en otros planetas
tu peso en otros planetas
</title>
</head>
<body>
<h1>escoge una opcion</h1>
<h2>1. medir tu peso en marte<br>
2. medir tu peso en jupiter <br>
3. medir tu peso en la tierra<h2>
<script>
var peso=prompt("Calcular peso en otros planetas\nIngrese el peso: ");
var opcion=prompt(“Ingresa una opcion\n1. medir tu peso en marte\n2. medir tu peso en jupiter\n3. medir tu peso en la tierra”);
document.write("la opcion ingresada: “+opcion+”<br>el peso final es: ");
switch (parseInt(opcion)) {
case 1:document.write(parseInt(peso=(3.7peso)/9.8));break;
case 2:document.write(parseInt(peso=(24.8
peso)/9.8));break;
case 3:document.write(parseInt(peso));break;
default:document.write(“Error <br> la opcion ingresada es erronea”);
alert(“Error, la opcion ingresada es errona”);
}
</script>
</body>
<html>

normal equivocarse y ver por que el codigo se rompio y darte cuenta de que haz cometido un error de sintaxis jajajajaja

Muy buena explicación, es el primer curso que tomo en platzi y al terminar este si o si me iré a por otro, me encanta 😄

Les dejo mis notas de la clase, lo que creo que es más importan de esta clase.

https://drive.google.com/file/d/1gV52aDUJNN1laHNU_Rgebrn-3yi-rdaa/view?usp=sharing

Me carga el script antes que el contenido de la pagina. Como lo puedo solucionar?

Pasito a pasito…

Atom no me resalta las variables ni nada dentro del script ¿Cómo hago para que sea más comodo de visualizar?

Alguien sabe por qué:
*el document me aparece en color rojo y no en amarillo
*me carga primero el document.write y despues la informacion del body. Me explico, al aparecer el document.write solicitando el peso, el fondo esta en blanco.

parseFloat ayuda visualizar los decimales.

Me encanta la manera que enseña,entiendo muy bien.

Pueden ver más sobre Javascript aquí: https://www.w3schools.com/JS/

Hola , como hago para que el código en Atom me salga en colore como en la grabación? Gracias

Si quieren que les muestre los decimales en el resultado pueden usar la función toFixed() y especifican en el parámetros “Los paréntesis” cuantos decimales quieren dejar.

Ayuda, no entiendo que error estoy cometiendo. Me aparece primero el prompt y luego de rellenarlo carga la página

<!DOCTYPE html>
<html>
<head>
<title>Tu peso en un lugar donde pesas menos</title>
</head>
<body>
<h1>Tu peso en otro planeta</h1>
<p>En la tierra pesas distinto que en marte o jupiter</p>
<script>
var usuario = prompt(“Cual es tu peso?”);
var peso = parseInt(usuario);
var g_tierra = 9.8;
var g_marte = 3.7;
var g_jupiter = 24.8;
var peso_final;
peso_final = peso * g_marte / g_tierra;
peso_final = parseInt(peso_final);
document.write(“Tu peso en marte es <strong>” + peso_final + " Kilos</strong>");
</script>
</body>
</html>

Marte.png

<html>
<head>
<title>tu peso en otros planetas</title>
<body>
<style>
body
{
background-color: white;
color:black;
}
</style>
</head>
<h1>tu peso en la tierra no es lo mismo en marte o jupiter</h1>
<h2>te lo muestro mira aqui abajo</h2>
<script>
var usuario = prompt("¿cual es tu peso?");
var peso = Parseint(usuario);
var g_tierra = 9.8;
var g_marte = 24.7;
var g_jupiter = 3.8;
var peso_final;
peso_final = peso * g_marte / g_tierra;
peso_final = PareseInt(peso_final);
Document.write("tu peso en marte es "+ peso_final);
</script>
</body>
</html>

Este es mi codigo, en el cual se puede ingresar la gravedad personalizada, asi se puede saber el peso en cualquier planeta el cual se conozca su gravedad.

<!DOCTYPE html>
<html>
	<head>
		<style type="text/css">
			body
			{
				font-family: Helvetica;
			}
		</style>
		<title>Tu peso a nivel interplanetario</title>
	</head>
	<body>
		<h1>Tu peso en otro planeta!!</h1>
		<p>En la tierra pesas distinto que en Marte o Jupiter!</p>
		<script>
			var usuario = parseFloat(prompt("Ingrese su peso"));
			var planeta= parseInt(prompt("Elige tu planeta :D \n1 es Marte \n2 es Jupiter\n3 Gravedad personalizada"));
			var peso=usuario;
			var g_tierra=9.8;
			var g_marte=3.7;
			var g_jupiter=24.8;
			var peso_final;
			var nombre_p;
			if(planeta == 1)
			{
				peso_final=(peso * g_marte)/g_tierra;
				nombre=("Marte");
				document.write("Mi peso en "+ nombre +" es <strong>" + peso_final + "</strong> Kg");
			}
			else if(planeta == 2)
			{
				peso_final=(peso * g_jupiter)/g_tierra;
				nombre=("Jupiter");
				document.write("Mi peso en "+ nombre +" es <strong>" + peso_final + "</strong> Kg");
			}
			else if (planeta == 3)
			{
				var g_personal=prompt("Ingrese la gravedad");
				peso_final=(peso * g_personal)/g_tierra;
				document.write("Mi peso en este planeta es " + peso_final + "Kg");
			}
			else
			{
				document.write("Debes seleccionar una opcion valida");
			}
			//document.write("Mi peso en marte es <strong>" + peso_final + "</strong> Kg");
		</script>
	</body>
</html>

Chale, lo programo a los 13 años y yo aquí con el doble apenas aprendiendo, que atrasada me siento.

Que facil se ve programar, muy buen maestro.

f en el cha

f en el chat

Me di cuenta que si escribo el código sin parseInt(usuario); el mismo funciona igual. Es decir:

<!DOCTYPE html>
<html>
  <head>
    <title> Cuanto pesas en... </title>
  </head>
  <body>
    <h1> Tu peso en otro planeta
      <p> En la Tierra pesas distinto que en Marte o Jupiter </p>
      <script>
        var usuario = prompt("Cual es tu peso?")
        var peso = usuario;
        var g_tierra = 9.8;
        var g_marte = 3.7;
        var g_jupiter = 24.8;
        var peso_final;
        peso_final = peso * g_marte / g_tierra;
        peso_final = parseInt(peso_final);
        document.write(peso_final);
        </script>
  </body>
</html>

¿Por qué sucede?

Un consejo para los nuevos en el código.
Usar visual-studio-code tiene herramientas que te pueden ayudar a avanzar mas rápido

parseInt: tranforma a numeros enteros
parseFloat: transforma a numero flotante (decimales)