流程控制--if条件

一、if的语法
在Python中,if语句包含以下部分:
1.if 关键字
2.条件(既求值为True或False的表达式)
3.冒号:
4.在下一行开始,缩进代码块(称为if子句)
5.所有控制流语句都是以冒号结尾,后面跟一个新的代码块。

if expression:
statement(s)
注:Python使用缩进作为其语句分组的方法。一般建议4个空格。
if 表达式: //后面要有:号结尾。
代码块
在缩进里的都属于一个代码块、
例子:
if 1:
print 'hello python'
print 'True'
如果1成立就代表true.0代表不成功 false。和shell 相反。
Python中如果是0代表不成功。其他数字代表成功。
只要成立的话就会输出下面的代码块。如果不成立就不会输出结果。
另外空字符串和none 都是代表不成立
总结一下就是:
true: 表示非空的量,所有非零数
false: 表示0 none 空的量等
还可以使用表达式来判断
if not 1 > 2 and 1 == 1:
print 'hello python'
print 'true'
hello python
true

二。 if else 语法
1.else
if 1 > 2:
print 'hello python'
print 'True'
else:
print 'false'
else和if 在同一水平位子,并且也是需要:结尾的。
意思是如果条件不成立就输出else里的代码块。
2.elif
if 1 > 2:
print 'hello python'
print 'true'
elif 1 < 2:
print "true 1<2"
else:
print 'false'

true 1<2
结果看到elif的判断成立输入了elif里的代码块,其他没有成立的条件没有输出。
可以有多个elif来判断。
num = int(raw_input('please input you number: '))

if num >= 90:
print "A"
print "very good"
elif num >= 80:
print "B"
print "good"
elif num >= 70:
print "C"
print "pass"
else:
print "D"
使用raw_input的时候,由于输出的任何东西都是一个字符串。输入的是数字的时候也会当成一个字符串。可以用是int()来转数据类型。但是只限于数字,字母是不行的。

在看一个例子:
yn = raw_input('please input [YES/NO]: ')

yn = yn.lower()

if yn == 'y' or yn == 'yes':
print "programe is runing....."
elif yn == 'n' or yn == 'no':
print "programe is exit"
else:
print "please input [YES/NO]"
yn.lower()方法是把输入的字母变成小写。与之对应的是yn.upper()
当我们输入Y或者yes的时候就会输出 is runing..
当我们输入的是N或者NO的时候就会输出exit
当我们输入的是其他字符串的时候就会输出else里的语句。

练习题:
1. 输入三个整数x,y,z,请把这三个数由小到大输出。 1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换, 然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
x = input('please input x number: ')
y = input('please input y number: ')
z = input('please input z number: ')

if x > y:
x,y = y,x
print x
if x > z:
x,z = z,x
print x
if y > z:
y,z = z,y
print y
print "%s %s %s" %(x,y,z)

2. 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
x=input('请输入获得的利润:')
x=int(x)
if x<=100000:
y=x*0.1
elif x<=20000:
y=10000+(x-100000)*0.075
elif x<=40000:
y=10000+7500+(x-200000)*0.05
elif x<=60000:
y=10000+7500+10000+(x-400000)*0.03
elif x<=1000000:
y=10000+7500+10000+6000+(x-600000)*0.015
elif x>1000000:
y=10000+7500+10000+6000+6000+(x-1000000)*0.01
print y


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值