07 dart基础练习答案及解析

第一题:使用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的烦恼!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值