python3廖雪峰视频_据廖雪峰python3教程----python学习第四天

条件判断

在python中条件判断 用if语句来实现:

1

2

3

4

5

6

7

>>> age=20

>>>if age >=18:# 注意 if 后的 : 引号

print('your age is %d'%age)

print('adult')

your ageis 20

adult

根据python的缩进规则,如果if语句判断是True,就把缩进的两行python执行了,否则什么也不做

也可以给 if 添加一个 else 语句

1

2

3

4

5

6

7

8

9

10

>>> age=3

>>>if age>=18:

print('your age is',age)

print('adult')

else:

print('your age is',age)

print('teenager')

your ageis 3

teenager

还有一种更加细致的判断 elif   :

1

2

3

4

5

6

7

8

9

>>> age= 3

>>>if age >=18:

print('adult')

elif age >= 6:

print('teenager')

else:

print('kid')

kid

elif 是 else if 的判断,完全可以有多个 elif 所以 if 的完整形式就是:

if <条件判断>:

<执行1>

elif <条件判断>:

<执行2>

elif < 条件判断>:

<执行3>

else:

<执行4>

if 语句执行有个特点,它是从上往下判断,如果在某个判断是 True ,就把该判断对应的语句执行后,就忽略剩下的

elif 和 else 。

if 判断条件换可以简写,比如写:

1

2

>>>if x:

print('True')

只要x是非零数值、非空字符串、非空list等,就判断为True,否则为 False。

再议input

再看一个有问题的条件判断。用input()读取用户的输入,这样可以自己输入,程序的运行得更有意思:

1

2

3

4

5

6

birth= input('birth:')

if birth<2000:

print('00前')

else:

print('00后')

>>>birth:1982

输入 1982 后,结果报错:

1

2

3

4

Traceback (most recent call last):

File "E:/Python/lianxi.py", line2,in 

if birth<2000:

TypeError: unorderable types:str() 

这是因为input() 返回的数据类型是 str ,str不能直接和整数比较,必须先把str转换成整数。python提供了int()函数来完成这件事情:

1

2

3

4

5

6

7

8

9

birth= input('birth:')

birth= int(birth)

if birth<2000:

print('00前')

else:

print('00后')

>>>birth:1995

00前

>>>

再次运行,这次输入一个字符串 又得到一个错误报告:

1

2

3

4

5

6

7

>>>

birth:qwe

Traceback (most recent call last):

File "E:/Python/lianxi.py", line2,in 

birth= int(birth)

ValueError: invalid literalfor int() with base10:'qwe'

>>>

当int()函数发现一个字符串并不是合法的数字时就会报错,程序就退出了。

练习

小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:

低于18.5:过轻

18.5-25:正常

25-28:过重

28-32:肥胖

高于32:严重肥胖

用if-elif判断并打印结果:

体质指数(BMI)=体重(kg)÷身高^2(m)

1

2

3

4

5

6

7

8

9

10

11

12

13

h=float(input('hright:'))#体质指数(BMI)=体重(kg)÷身高^2(m)

w=float(input('weight:'))

bmi= w/h**2

if bmi <18.5:

print('BMI=%0.2f,过轻'%bmi)

elif bmi <25:

print('BMI=%0.2f,正常'%bmi)

elif bmi <28:

print('BMI=%0.2f,过重'%bmi)

elif bmi <32:

print('BMI=%0.2f,肥胖'%bmi)

else:

print('BMI=%0.2f,严重肥胖'%bmi)

一个数x的n次方的表达方法:

1

2

3

4

5

6

7

8

9

10

#x=x**n;

#x=pow(x,n)

>>> h=1.75

>>> h=pow(h,2)

>>> h

3.0625

>>> h=1.75

>>> h=h**2

>>>print(h)

3.0625

本文转自 nw01f 51CTO博客,原文链接:http://blog.51cto.com/dearch/1753268,如需转载请自行联系原作者

你可能感兴趣的:(python3廖雪峰视频)