首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

四撩Python

To be or not to be, that is the question.

--Shakespeare

1、起手

已经介绍过如何定义变量了,应该说一说对变量的基本操作,就是加、减、乘、除、比较等等。但是有些乏味,就不说了。多看看就知道了。

直接撩程序的控制。程序的控制分为两种,一是条件,一是循环。

2、条件

程序不会一根筋的往前走,大多是在一种情况下干啥,另一种情况干啥。这就用到条件。

比如本咖啡师对不同用户有不同的折扣。规则如下:

新用户除了第一杯免费外,都是无折扣的;

消费20杯后,或者充值200元,自动升级为VIP1,9折;

消费50杯后,或者充值500元,自动升级为VIP2,8折;

如果手机支付,9.5折;

碰到节假日也会打折,一般9折;

如果有折扣券,按折扣券来(来喝咖啡的时候,可以问一下,不常有);

有时候来美女了,直接8折;

折扣可以折上折,但不能低于7折,不能亏太多嘛。比如某节假日打8折,VIP1可以享受7.2折,非常给力。

有时候本咖啡师直接给0折,嘿嘿。

先上整个代码,然后掰碎了说。也许吧,不用我说,这代码的意思就能猜到89不离10了。这就是Python,非常清晰。

3、if...else...

条件语句有以下几种形式:

ifcondition:

something to do

ifcondition:

something to do

else:

something else to do

ifcondition1:

something to do

elifcondition2:

something to do

elifcondition3:

something to do

else:

something to do

这些语法容易理解。

有几个细节:

第一,是代码缩进,Python以代码缩进来指明代码块,不像C里面用{}。连续的相同缩进的代码属于一个代码块。

第二,条件判断后面有冒号。

第三,condition的值是True或False。Python自带的两个常量(不能变的量)。

第四,以#打头的都是注释,是给人看的,Python解释器忽略之。

4、细说代码

这是本咖啡师的核心商业机密,用户数据。所以这里是示例数据。

这里是当前节假日折扣值。有人说了,节假日不应该先用True或False表明当前是不是节假日,是节假日再谈折扣吗?

是的,但如果这样的话,得定义两个量。程序计算折扣的时候,也得先判断是不是节假日,如果是,再乘上折扣值,这样程序就复杂了。

只用一个节假日折扣值,如果不是节假日设置此值为1.0,计算折扣的时候,直接乘上这个折扣值。程序非常简单,效果完全一样。法无定法嘛。

这是当前消费者信息,姓名,是不是电子支付,有没有优惠券,是不是美女。这些都是决定如何打折的。代码1-5行,是当前折扣模块的变量,对所有人都是一样的。而7-10行,是当前消费者的变量。

一切准备就绪,开始计算折扣值。先给discount赋初值1.0,表示还没有任何折扣。

上面的代码里很清晰,有注释,有判断,有冒号,有缩进。因缘具足。

只是discount = discount * 0.95好怪异阿,怎么算也不可能是等式阿。

我轻轻地提醒你,这是编程,编程,编程。等号表示赋值。

discount = discount * 0.95的意思是,先将discount乘以0.95,然后再将得到的值赋给discount。变量变量,就这样变了。

discount *= holiday_discount的意思是discount *= discount * holiday_discount。 *= 是简写。熟悉就好了。

下面的折扣代码同上面一样的,不解释。

这个要说一说的。

一是customer in vip2,这句是看vip2是面有没有customer这个值。in 是一个操作符。customer in vip2是一个语句,得到值是True或者False,所以可以用来作为condition。

这个一块语句是,先看customer是不是vip2,再看是不是vip1,再看是不是vip0,如果还不是,就是新用户,第一次,免费,discount = 0。关键是,vip0.append(customer),这是一个函数调用,以后会有讲。意思是将customer这个值添加到数组中。数组也是变量嘛。一量添加进去,再来消费的时候,此人已经在vip0了,不会再免费喽。要不然,我得亏死。

看看,就这一句代码,挽回了多大的损失阿。慎重慎重。

再到最后,给出程序忙活了半天的结果。

一个轮回圆满:定义变量,处理变量,输出变量。

程序就是这样的。

6、后记

喝杯咖啡吗?

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171230G0G8IV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券