第一题:使用dart语言,计算1+2+3+....+256的结果(用for循环计算),并打印出来
void main() {
var a = 256;
var b = 0;
for (var i=1;i<=a;i++){
b += i;
}
print(b);
}
答案为32896
如何解?首先,我们要列出基本框架,也就是能让dart有输出,即main框架
列出了基本框架后,接下来我们看到要计算的内容,从1一直加到256,对于累加,我们可以自然想到循环,因为循环就可以做到让一个变量从1遍历到256,但是这还不够,因为我们要的是累加,不是遍历
因此,我们可以想到,既然可以遍历,那么就把所有的遍历的值都加到同一个变量身上,这样就算完成了题目的要求,因此,先列出循环基本结构,然后通过for循环以及每次循环都要执行b += i,使得b的最后结果就是从1一直累加到256的结果
当然,这题在数学上可以有更简便的做法,比如首尾相加什么的,可自行探索,这里就不再展示。
第二题:(原题见上一篇,题目太长不方便直接复制)
void main(){
List l1 = [58 ,73, 91, 87];
for (var i=0;i<l1.length;i++){
var a = l1[i];
if (a<60){
print("不及格");
} else if (a>=60 && a<80){
print("及格");
} else if (a>=80 && a<90){
print("良好");
} else {
print("优秀");
}
}
}
首先,这是一个判断成绩的题目,所以很容易就想到使用if - else if - else结构,但是现在都在列表里面,所以还不能直接使用成绩,那么我们需要将成绩从列表里拎出来,然后丢到if结构里去并输出
那么这里其实有两种方式,第一种就是先定义四个变量,然后再对四个变量分别进行if判断,最后输出,不过这样非常的费劲,因为你将要写四遍if结构,这不是最高效的办法,当然,如果使用后面会说的函数的话,效率会远远提升,这里暂时不展开讲。
那么想要将列表里的每个拎出来都放到if里面去判断,该怎么办呢?注意这里是每一个,所以很自然的,可以进行遍历的,for循环,对吧?
所以,这里直接使用for循环,先对列表里的每个值进行遍历,在遍历的时候,创建临时变量并将其丢到if判断里输出结果,也就是上面代码的逻辑,a就是临时变量,然后下面的if都是对a的判断,同时if判断在循环内,这就不会导致多打少打的情况。
答案是什么不用多说了,毕竟肉眼也能看出来,接下来看第三题。
第三题:
void main(){
var l1 = [1,2,3,4,5,5,5,5,5,6,6,67,7,78,54,33,33,32,12,12,44,56,889,78,888,889,102,103,102,111,114,110,903,906,78];
var l2 = l1.toSet();
print(l2);
}
这里的话,主要还是考察的将列表转化为集合,而集合的性质是不重复性,所以通过转化为集合,既可以做到去重
顺带一提,上篇出题的时候,在给的列表后面是没有加分号的,所以如果复制后发现报错是正常的,不知道你有没有发现呢~
今天就到这里,祝大家天天开心!代码一遍就通!没有debug的烦恼!