第二章作业

乘法口诀表

js

Page({
  data: {
    multiplicationTable: []
  },
  onLoad: function () {
    this.generateMultiplicationTable();
  },
  generateMultiplicationTable: function () {
    let table = [];
    for (let i = 1; i <= 9; i++) {
      let row = [];
      for (let j = 1; j <= 9; j++) {
        row.push(i * j);
      }
      table.push(row);
    }
    this.setData({
      multiplicationTable: table
    });
  }
})

wxml

<view class="container">
  <view wx:for="{{ multiplicationTable }}" wx:for-item="row" wx:for-index="index">
    <view class="row">
      <view wx:for="{{ row }}" wx:for-item="item" wx:for-index="subIndex" class="cell">
        <view class="expression">{{ index + 1 }} × {{ subIndex + 1 }}</view>
        <view class="equal">=</view>
        <view class="result">{{ item }}</view>
      </view>
    </view>
  </view>
</view>

wxss

.container {
  padding: 20rpx;
}

.row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 10rpx;
}

.cell {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.expression {
  margin-right: 5rpx;
  font-size: 24rpx;
}

.equal {
  margin: 0 5rpx;
  font-size: 24rpx;
}

.result {
  margin-left: 5rpx;
  font-size: 24rpx;
}

运行结果

水仙花数 

 js

Page({
  onLoad: function () {
    this.findNarcissisticNumbers();
  },
  findNarcissisticNumbers: function () {
    for (let i = 100; i < 1000; i++) {
      let sum = 0;
      let number = i.toString();
      let digit1 = parseInt(number.charAt(0));
      let digit2 = parseInt(number.charAt(1));
      let digit3 = parseInt(number.charAt(2));

      sum = Math.pow(digit1, 3) + Math.pow(digit2, 3) + Math.pow(digit3, 3);

      if (sum === i) {
        console.log(i);
      }
    }
  }
})

运行结果(在控制台输出水仙花数,而不是在微信小程序的页面上显示)

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

 js

Page({
  data: {
    narcissisticNumbers: []
  },
  onLoad: function () {
    this.findNarcissisticNumbers();
  },
  findNarcissisticNumbers: function () {
    let numbers = [];
    for (let i = 100; i < 1000; i++) {
      let sum = 0;
      let number = i.toString();
      let digit1 = parseInt(number.charAt(0));
      let digit2 = parseInt(number.charAt(1));
      let digit3 = parseInt(number.charAt(2));

      sum = Math.pow(digit1, 3) + Math.pow(digit2, 3) + Math.pow(digit3, 3);

      if (sum === i) {
        numbers.push(i);
      }
    }
    this.setData({
      narcissisticNumbers: numbers
    });
  }
})

wxml

<view class="container">
  <view wx:for="{{ narcissisticNumbers }}" wx:for-item="number" wx:key="index">
    <view class="number">{{ number }}</view>
  </view>
</view>

 在页面中输出菱形图案

js

Page({
  data: {
    diamondPattern: []
  },
  onLoad: function () {
    this.generateDiamondPattern();
  },
  generateDiamondPattern: function () {
    let pattern = [];
    const size = 5;

    for (let i = 0; i < size; i++) {
      let row = '';
      const spaceCount = Math.floor((2 * size - 1 - (2 * i + 1)) / 2);
      for (let j = 0; j < spaceCount; j++) {
        row += ' ';
      }
      for (let k = 0; k < 2 * i + 1; k++) {
        row += '*';
      }
      pattern.push(row);
    }

    for (let i = size - 2; i >= 0; i--) {
      pattern.push(pattern[i]);
    }

    const maxLength = pattern[pattern.length - 1].length;
    const centeredPattern = pattern.map(row => row.padStart(maxLength, ' '));

    this.setData({
      diamondPattern: centeredPattern
    });
  }
})

wxml

<view class="container">
  <view class="diamond">
    <view wx:for="{{ diamondPattern }}" wx:for-item="row" wx:key="index">
      <text class="row">{{ row }}</text>
    </view>
  </view>
</view>

运行结果

不知道为什么没法居中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值