第二章作业

操作题

第一题

1、利用wx:if 及 wx:for 数据绑定来实现输出乘法口诀表

logs.js 代码如下:

// logs.js
const util = require('../../utils/util.js')
 
Page({
  data: {
    logs: [],
    array:[1,2,3,4,5,6,7,8,9]
  },
  onLoad() {
    this.setData({
      logs: (wx.getStorageSync('logs') || []).map(log => {
        return {
          date: util.formatTime(new Date(log)),
          timeStamp: log
        }
      })
    })
  }
})

logs.wxml 代码如下:

  <view class="border" >
  <view class="q">乘法口诀表</view>
    <view wx:for="{{array}}" wx:for-item="i">
      <view class="inline" wx:for="{{array}}" wx:for-item="j">
        <view class="size" wx:if="{{i>=j}}">
          {{j}}*{{i}}={{i*j}}
        </view>
      </view>
    </view>
  </view>

logs.wxss 代码如下:

.log-list {
  display: flex;
  justify-content: flex-start; 
  font-size: 10px;
}
.log-item {
  margin: 10rpx;
}
.inline{
  display:inline-block;
}
.size{
  font-size: 10px;
  padding-right:1em;
}
.q{
  font-weight: 700;
  text-align: center;
}

logs.json 代码如下:

{
  "navigationBarTitleText": "微信小程序-九九乘法表",
  "usingComponents": {}
}

运行结果:

第二题

2.编写程序,在Console 控制台输出水仙花数(水仙花数是指一个3位数的各位上的字的3次幂之和等于它本身。例如,13+53+33=153)。

index.js 代码:

Page({
  data: {
    result: ''
  },
  inputChange(e) {
    this.setData({
      number: e.detail.value
    })
  },
  checkNumber() {
    const number = this.data.number;
    if (number.length !== 3) {
      this.setData({
        result: '请输入三位数'
      })
      return;
    }
    const digit1 = parseInt(number.charAt(0));
    const digit2 = parseInt(number.charAt(1));
    const digit3 = parseInt(number.charAt(2));
    const sum = Math.pow(digit1, 3) + Math.pow(digit2, 3) + Math.pow(digit3, 3);
    if (sum === parseInt(number)) {
      this.setData({
        result: '是水仙花数'
      })
    } else {
      this.setData({
        result: '不是水仙花数'
      })
    }
  }
})

index.json 代码:

{
  "navigationBarTitleText": "水仙花数"
}

index.wxml 代码:

<view class="container">
  <view class="title">判断水仙花数</view>
  <input class="input" placeholder="请输入三位数" bindinput="inputChange" />
  <button class="button" bindtap="checkNumber">验证</button>
  <view class="result">{{result}}</view>
</view>

运行结果:

第三题

3.编写程序,在页面中输出水仙花数,如图2-22所示。

sxhs.js 代码:

Page({ 
  data:{
  narcissisticNumbers: []
},
  onLoad: function () {
  this.findNarcissisticNumbers();
},
  findNarcissisticNumbers: function (){ 
    const numbers =[];
  for (let i=100;i<1000;i++){
     const a = Math.floor(i / 100);
  const b = Math.floor((i % 100) / 10); const c=i% 10;
  if (a ** 3 + b** 3 +c**3===i){ 
    numbers.push(i);}}
  this.setData({
  narcissisticNumbers: numbers});}
  });

sxhs.json 代码:

{
  "navigationBarTitleText": "水仙花数"
}

sxhs.wxml 代码:

<view class="li">
<view class="narcissistic-numbers">
<text>水仙花数共有:</text>
<text wx:for="{{narcissisticNumbers}}" wx:key="*this">{{item}}</text></view>
</view>

sxhs.wsxx 代码:

.li { 
  display: flex;
  flex-direction: column;
   align-items: center;
  justify-content: center;
   height: 50vh;
   font-size: 25px;
}

运行结果:

第四题

4.编写程序,在页面中输出菱形图案,如图2-23所示。

lx.js 代码:

Page({
  data: {
    diamondArray: ['   *   ', '  ***  ', ' ***** ', '*******', ' ***** ', '  ***  ', '   *   ']
  }
})

lx.json 代码:

{
  "navigationBarTitleText": "菱形图案"
}

lx.wxml 代码:

<view class="yv">
  <block wx:for="{{diamondArray}}" wx:for-item="item" wx:for-index="index">
    <text class="li">{{item}}</text>
  </block>
</view>

lx.wsxx 代码:

.li {
  display: flex;
  flex-direction: column;
  align-items: center;
}
 
.yv {
  font-size: 20px;
  margin-bottom: 10px;
}

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值