2021-05-27

测试一

//这是一个对于以下几个模块的测试
// - 变量
// - 函数

// 玛丽正在买苹果。一个苹果一般卖2块,但是如果你一次性买超过40个,每个苹果只要一块!
//写一个函数来根据购买数量求所需资金,这次没有提示!

// 请把你的函数写在下面!
// fn ..... {

没有提示

题解

这是一道应用题,使用的是之前三章的内容,可以先画个简单的流程图来理解一下题目的意图,作为一个应用题苦手,我觉得老老实实画个简单的流程图来实现是非常方便的。

所以按照图写就行了。

接下来就是怎么实现的问题,实现抓住两点,我的输入输出是什么,我的数据处理的步骤是什么,首先输入的是数量,输出的是价格,这两个都是i32类型可以承担的范围,所以我们先把函数的声明部分完成:

fn calculate_apple_price(amount:i32) -> i32{

}

这个时候我们会看到在大括号上会有报错,

]

这个是因为它要求必须要定义一个返回值,但我们并没有返回值存在因此,我们需要对其补全。我们所面对的返回值是价格,所以我们先定义一个可变变量total_price,然后把他作为返回的内容。

这样一来输入输出就完成了,将关注点转移到流程上来。从流程上来说,这是个if的选择流。

fn calculate_apple_price(amount:i32) -> i32{
    let mut total_price = 0;
    total_price = if amount > 40  {amount * 1} else { amount * 2 };
    total_price
}

但是这样超级不优雅,很难受,宝宝很不喜欢。

const COMON_PIRZE:i32 = 2;
const DISCOUNT_PRIZE:i32 = 1;
fn calculate_apple_price(amount:i32) -> i32{
    if amount > 40  {amount * 1} else { amount * 2 }
}

现在舒服了,首先rust提供了常量这个特殊的类型,自然要用,其次,rust可以直接返回必要的计算式的直接结果,我没有额外增加一个变量的意义,这样看起来就舒服很多了。

个人博客在这里,如果排版有问题请直接访问我的博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值