开发者社区> 技术小阿哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

据廖雪峰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 age is 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 age is 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", line 2in <module>
     if birth<2000:
TypeError: unorderable types: str() < int()


这是因为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", line 2in <module>    
    birth = int(birth)
ValueError: invalid literal for int() with base 10'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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
python time模块教程2
python time模块教程2
0 0
python while 循环教程
python while 循环教程
0 0
Selenium Python 教程
Selenium Python 教程
0 0
【Python】高级变量通关教程下篇(字符串与切片专题详解)(下)
文章目录 前言 1 字符串说明 2 字符串的常见操作 2.1 字符串中的常见方法总览 2.2 字符串的长度、次数与位置统计 2.3 判断字符串 2.4 字符串的查找和替换 2.5 去除字符串中的空白字符 2.6 字符串的拆分和拼接 3 切片 3.1 切片的概念与说明 3.2 切片的使用——以字符串为例 4 本文配套练习题* 4.1 练习一 4.2 练习二
0 0
【Python】高级变量通关教程下篇(字符串与切片专题详解)(上)
文章目录 前言 1 字符串说明 2 字符串的常见操作 2.1 字符串中的常见方法总览 2.2 字符串的长度、次数与位置统计 2.3 判断字符串 2.4 字符串的查找和替换 2.5 去除字符串中的空白字符 2.6 字符串的拆分和拼接 3 切片 3.1 切片的概念与说明 3.2 切片的使用——以字符串为例 4 本文配套练习题* 4.1 练习一 4.2 练习二
0 0
fastText Python 教程
本文介绍fastText Python包的基本教程,包括安装方式和简单的使用方式。
0 0
Windows下使用Pycharm安装python GUI库Kivy教程
Windows下使用Pycharm安装python GUI库Kivy教程
0 0
树莓派4B:1gRAM安装Python GUI库Kivy教程
树莓派4B:1gRAM安装Python GUI库Kivy教程
0 0
python学习:map函数和filter函数用法教程
python学习:map函数和filter函数用法教程
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Python 脚本速查手册
立即下载
Python系列直播第一讲——Python中的一切皆对象
立即下载
给运维工程师的Python实战课
立即下载