【微信小程序】第二章 作业

本文介绍了如何在微信小程序中使用wx:if和wx:for进行数据绑定,实现乘法口诀表的动态输出,以及编写JavaScript代码检测水仙花数并在页面上显示,并展示了如何生成菱形图案。
摘要由CSDN通过智能技术生成

一、利用 wx:if 及 wx:for 数据绑定来实现输出乘法口诀表的编程。

先在 news.js 创建一个一到九的数组,代码:

Page({
  data:{
    nen:[1,2,3,4,5,6,7,8,9]
  }
})

然后,在 news.wxml 中创建两个 wx:for 循环 nen 中的数据,并把每次的数据分别赋给 i 和 j,再写个 wx:if 判断是否 i<=j ,是则输出 i 和 j 的乘积。代码:

<view wx:for="{{nen}}" wx:for-item="i" class="eew">
<view wx:for="{{nen}}" wx:for-item="j">
<view wx:if="{{i<=j}}">
{{i}}*{{j}}={{i*j}}
</view>
</view>
</view>

 最后,在 news.wxss 设置页面样式,代码:

.eew{
  font-size: 10px;
  float: left;
  margin-right: 6px;
  margin-bottom: 6px;
}

运行效果:

 

二、编写程序,在Console控制台输出水仙花数(水仙花数是指一个3位数的各位上的数字的3次幂之和等于它本身。例,1^{3}+5^{3}+3^{3}=153)。

用 for 循环遍历100到1000以内的数,再创建三个储存百位、十位和个位数值的变量。其中Math.floor( )函数是用来取整的。然后,使用Math.pow( )函数来计算百位、十位和个位数的立方的和。最后,用 if 判断这个数是否为水仙花数。

代码(.js文件):

Page({
  onLoad() {
    for (let i = 100; i < 1000; i++) {
      let baiwei = Math.floor(i / 100);
      let shiwei = Math.floor((i % 100) / 10);
      let gewei = i % 10;
      let he = Math.pow(baiwei, 3) + Math.pow(shiwei, 3) + Math.pow(gewei, 3);
      if (he === i) {
        console.log(i);
      }
    }
  }
});

运行效果:

 

三、编写程序,在页面中输出水仙花数。

第二题的基础上,添加一个数组来存放结果,再使用 setData( )函数更新页面数据。

代码(.js):

Page({
  onLoad() {
    let shuzu=[];
    for (let i = 100; i < 1000; i++) {
      let baiwei = Math.floor(i / 100);
      let shiwei = Math.floor((i % 100) / 10);
      let gewei = i % 10;
      let he = Math.pow(baiwei, 3) + Math.pow(shiwei, 3) + Math.pow(gewei, 3);
      if (he === i) {
        console.log(i);
        shuzu.push(i);
      }
    }
    this.setData({
      shuzu:shuzu
    })
  }
});

.wxml 

<view>水仙花数共有:{{shuzu}}</view>

 运行效果:

四、编写程序,在页面中输出菱形图案。

代码:

.js

Page({
  data: {
    max: 9 //星号最大个数
  },
  onLoad(){
    let chucun=[];  //储存每行星号的个数
    let jisuan = Math.floor(this.data.max / 2);//确定空格数
    for (let i = 0; i < this.data.max; i++) {  //计算星号个数
      let kongge = Math.abs(jisuan - i);
      let xinghao = this.data.max - kongge * 2;
      let jieguo = ' '.repeat(kongge) + '*'.repeat(xinghao);//生成每行的星号
      chucun.push(jieguo);
  }
    this.setData({   //刷新页面,显示内容
      chucun: chucun
    });
  }
});

.wxml

<view wx:for="{{chucun}}" class="lingxing">
  {{item}}
</view>

.wxss

.lingxing{
  text-align: center;
}

运行效果:

 

  • 13
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值