流承控制语句

a=10
b=15
c=20
d=25
e=30
f=e//c
a-=b
f%=a
print(f>a and c//f or a*e)

这道题真正难点在取模特别是Python里的负数取模基本都是在 f %= a 这里卡住了,根据从上往下的运算顺序来看第一个 f 的值为 1   a -= b的值为 -1。那么问题就来了 1%(-5)。这是什么鬼东西。取模就是取余 ,往简单点就是这么说 ,余数 = 被除数 - (整商 *除数)所以 f = 余数 = 被除数 - (整商 * 除数)= 1 -(整商*)          在Python中在数轴方向上都是往左取就是  -2.3就取 -3 。3.2就取 3。简而论之 就是

求模:商向负无穷方向取最近的整数
求余:商向0靠近取最近的整数

那么1%(-5)的值为整商为1/(-5)=-0.2    就是取-1  那么模为  1 -((-1)*(-5))= -4

那么这道题里的 f 就是 -4 所以print(-4 > -5 and 20 // (-4)or (-5)*30)

举几个栗子

1)8%(-3)
求模:被除数=8,除数=(-3),商=(-2.6)。因为求模中整数商是商向负无穷方向去,取最近的整数,所以整数商=(-3),所以余数=8-((-3)x(-3))= -1
求余:被除数=8,除数=(-3),商=(-2.6)。因为求余中整数商是商向0方向去,取最近的整数,所以整数商=(-2),所以余数=8-((-3)x(-2))= 2
2)(-8)%3
求模:被除数=(-8),除数=3,商=(-2.6)。因为求模中整数商是商向负无穷方向去,取最近的整数,所以整数商=(-3),所以余数=(-8)-(3x(-3))= 1
求余:被除数=(-8),除数=3,商=(-2.6)。因为求余中整数商是商向0方向去,取最近的整数,所以整数商=(-2),所以余数=(-8)-(3x(-2))= -2

正题开始。。。。。。。

程序的执行分三类

1.  顺序执行         最简单直白的例子就是print ,输出一个之后输出下一个

2. 选择执行          if   elif   else    当一个条件不满足时执行下一个条件满足时的情况

3. 循环执行          if   while   for   当循环的的条件满足时就执行循环,直到循环执行不下去再继续往下执行

但今天只整理分享流程控制里边的选择执行,最代表的就是 if .....elif.....else

就是当 if    条件:    执行     当if的条件为真时,执行输出。

当 if   条件不成立时,不执行if 语句下的条件     继而运行与elif  最后执行else,并且最后的else可以不存在,无作为,但必须放在最后。

holiday = "平安夜"

if holiday == "平安夜":
    print("吃苹果~~~")

elif holiday =="情人节":
    print("看电影~~~")

elif holiday == "周末":
    print("出游~~~")

else:
    print("好好工作,热爱生活")

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值