多重循环
// 什么是二重循环?循环里面嵌套循环
// 在二重循环中,外层循环变量变化一次,内层循环变量变化整个
for(let i=1;i<=3;i++){
console.log('i='+i);
//i为1时,j从1变化到3
//i为2时,j从1变化到3
//i为3时,j从1变化到3
for(let j=1;j<=3;j++){
console.log('j='+j);
}
}
console.log('------------------------------------------');
// 有三个班级,每个班级有3名学员,输入每个班级每个学员的考试成绩,并计算出每个班级的平均分
//第一层循环,循环所有的班级
for(let i=1;i<=3;i++){
let sum = 0 //定义每个班级的总分
alert(`请输入第${i}个班级的学生成绩`)
//第二层循环,循环每个班级的所有学生
for(let j=1;j<=3;j++){
//将每一名学员的成绩,累加给班级总分
sum += parseInt(prompt(`请输入第${i}个班级的第${j}名学员成绩:`))
}
//计算每个班级的平均分
let avg = sum / 3
alert(`第${i}个班级的平均分是${avg}`)
}
// 数字等腰三角形
/*
1
121
12321
1234321
123454321
第一部分:
@@@@
@@@
@@
@
第二部分:
1
12
123
1234
12345
第三部分
1
21
321
4321
*/
//外层循环,控制行数
for (let i = 1; i <= 5; i++) {
// 内层循环控制每行打印内容
let str = ""
// 1.打印左边的空格
for(let j=1;j<=5-i;j++){
str += "@"
}
// 2.打印三角形的左侧
for(let j=1;j<=i;j++){
str+=j
}
// 3.打印三角形的右侧
for(let j=i-1;j>=1;j--){
str+=j
}
console.log(str);
}
在内层循环中,使用continue,break,只是作用于内层循环
练习题1:有5家店,每家店最多可以买3件衣服,进入一家店后,提示是否离开本店,
输入y表示离开(会进入下一家店),输入n表示买一件衣服,最后输出用户一共买了多少件衣服。
/* 有5家店,每家店最多可以买3件衣服,进入一家店后,提示是否离开本店,
输入y表示离开(会进入下一家店),输入n表示买一件衣服,最后输出用户一共买了多少件衣服。
*/
let count = 0 //定义count,保存购买衣服的总数量
//外层循环,控制有多少家店
for(let i=1;i<=5;i++){
alert('欢迎光临第'+i+'家店')
//内层循环,控制每家店,可以买多少件衣服
for(let j=1;j<=3;j++){
let isLeave = prompt('是否离开(y/n):')
if(isLeave==='n'){
alert('成功购买了一件衣服')
count++
// 内层循环里面的continue,只是对内层循环起作用
continue
}
//内层循环里面的break,只是对内层循环起作用
break;
}
}
alert('您一共购买了'+count+'件衣服')