发表于: 2020-04-04 22:07:12
0 1626
一、今天完成的事情
练习:
/*
* 练习:
* 假如投资的几年利率为5%,试求从1000块增长到5000块,需要花费多少年
* 第一年 1000 1000*1.05
* 第二年 1050 1050*1.05
* */
//定义一个变量,表示当前的钱数
var money = 1000;
//第一年的钱数
// money = money * 1.05;
//第二年的钱数
// money = money * 1.05;
//第三年的钱数
// money = money * 1.05;
//定义一个while循环,来计算每年的钱数
var count = 0; //定义一个计数器
while (money <= 5000){
money *= 1.05;
count++;//使count自增
}
console.log(money);
console.log("一共需要"+ count + "年")
//打印不要写在代码块的里面,不然会每循环一次输出一次
//对if 语句的练习一做的小改动,进一步完善
while (true){
//score 就是小明的期末成绩
var score = prompt("请输入小明的期末成绩(0-100):")
//判断用户输入值是否合法
if(score>=0 && score<=100){
//该条件满足则证明用户的输入合法,退出循环
break;
}
alert("请输入有效的成绩:")
}
// var score = prompt("请输入小明的期末成绩(0-100):");
//判断值是否合法
if(score>100 || score<0 || isNaN(score)){
alert("输入错误")
}
//根据score的值来决定给小明什么奖励else
// alert(score);
if( score == 100 ){
alert("奖励一辆宝马");
}else if(score>80 ){
alert("奖励一台手机");
}else if (score > 60){
alert("奖励一本参考书");
}else {
alert('nothing');
}
for 循环:
/*
* for 语句,也是一个循环语句,也称为for循环
* 在for 循环中,为我们提供了专门的位置用来放三个表达式;
* 1.初始化表达式
* 2.条件表达式
* 3.更新表达式
* for 循环的语法:
* for(初始化表达式;条件表达式;更新表达式){
* 语句……
* }
* for 循环的执行流程:
* 1.执行初始化表达式,初始化变量(初始化表达式只会执行一次)
* 2.执行条件表达式,判断是否执行循环(语句……)
* 如果为true,则执行循环
* 如果为false,则终止循环
* 3.执行更新表达式,更新表达式执行完毕继续重复执行条件表达式
*
* */
//创建一个执行10次的while循环
//初始化表达式
var i = 0;
//创建一个循环,定义条件表达式
while (i < 10){
alert(i++);//设置更新表达式
}
//把上面的while 循环改成for 循环
for (var n = 0;n < 10;n++){
console.log("n的值为"+n);
}
/*
* for循环的三个部分都可以省略,也可以写在外面
* 如果在for循环中不写任何的表达式,只写两个;;分号,
* 此时循环是一个死循环,会一直执行下去,慎用
* */
var x = 0;
for (;x < 10;){
alert(x++);
}
/*
* 练习一:
* 打印1-100之间所有奇数之和
* */
//创建一个变量,用来保存奇数之和
var sum = 0;
//打印1-100之间的数
for(var a = 1; a <= 100;a++){
//判断 a 是否是奇数
//不能被2 整除的数就是奇数
if(a%2 != 0){
//如果 a 除以2有余数则证明 a 是奇数
console.log(a);
sum = sum + a;
}
} console.log("奇数之和"+ sum);
/*
* 练习二:
* 打印1-100之间所有7 的倍数的个数及总和
* */
var b = 0,c = 0;//定义一个变量 b 来记录7的倍数的个数,定义一个计数器 c 来记录所有数的总和
for (var seven = 1; seven<=100;seven++){
if(seven%7 == 0){
// console.log("seven的值"+seven);
b++;
c = c + seven;
}
}
console.log("7的倍数的个数"+b); //14
console.log("7的倍数的和"+c); //735
/*
* 练习三:
* 水仙花数
* 是指一个三位数,它的每个位上的数字的3次幂之和等于它本身
* 例如:1^3 + 5^3 + 3^3 =153 ,请打印所有的水仙花数
* */
//打印所有的三位数
for (var i = 100;i<1000;i++){
//获取 i 的百位 十位 个位的数字
//获取百位数字
var bai = parseInt(i/100);
//获取十位数字
var shi = parseInt((i-bai*100)/10);
//获取个位数字
var ge = i%10;
//判断i 是否是水仙花数
// console.log(ge);
// console.log(bai);
if(bai*bai*bai+shi*shi*shi+ge*ge*ge == i){
console.log("水仙花数是" + i)//153 370 371 407
}
}
质数练习:
/*
* 在页面中接收一个用户输入的数字,并判断该数是否是质数
* 质数:只能被1和他自身整除的数,1不是质数也不是合数,质数必须是大于1的自然数。
*
* */
var num = prompt("请输入一个大于 1 的整数:");
//判断这个值是否合法
if(num <= 1 ){
alert("该值不合法!");
}else {
//创建一个变量来保存当前的数的状态
//默认当前num 是质数
var flag = true;
//判断num是佛是质数
//获取2 - num 之间的数
for (var i = 2;i < num ; i++){
// console.log(i);
//判断num是否能被i整除
if(num %i == 0){
//如果num 能被i 整除,则说明num一定不是质数
alert("不是质数" + num);
//设置flag 为false
flag = false;
}
}
//如果num是质数则输出
if(flag){
alert("该值是质数"+num);
}
}
二、遇到的困难
质数练习里面的这个逻辑还不是很理解,但是可以实现,有点不明白为什么
三、明天要做的事情
继续学习
四、收获
学习了for循环
评论