python 复学(11)---条件判断

to be  or not to be this is a question!!  生活不只是选择题,同时还会有判断题。

-----------hashlinux

条件判断

计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。

比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现:

age = 20if age >= 18:    print(‘your age is‘, age)    print(‘adult‘)

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

也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了:

age = 3if age >= 18:    print(‘your age is‘, age)    print(‘adult‘)else:    print(‘your age is‘, age)    print(‘teenager‘)

注意不要少写了冒号:

当然上面的判断是很粗略的,完全可以用elif做更细致的判断:

age = 3if age >= 18:
    print(‘adult‘)elif age >= 6:
    print(‘teenager‘)else:
    print(‘kid‘)

elifelse if的缩写,完全可以有多个elif,所以if语句的完整形式就是:

if <条件判断1>:    <执行1>elif <条件判断2>:    <执行2>elif <条件判断3>:    <执行3>else:    <执行4>

if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elifelse,所以,请测试并解释为什么下面的程序打印的是teenager

age = 20if age >= 6:
    print(‘teenager‘)elif age >= 18:
    print(‘adult‘)else:
    print(‘kid‘)

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

if x:    print(‘True‘)

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

再议 input

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

birth = input(‘birth: ‘)if birth < 2000:    print(‘00前‘)else:    print(‘00后‘)

输入1982,结果报错:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>TypeError: unorderable types: str() > int()

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

s = input(‘birth: ‘)
birth = int(s)if birth < 2000:    print(‘00前‘)else:    print(‘00后‘)

再次运行,就可以得到正确地结果。但是,如果输入abc呢?又会得到一个错误信息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: ‘abc‘

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

如何检查并捕获程序运行期的错误呢?后面的错误和调试会讲到。

练习

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

  • 低于18.5:过轻
  • 18.5-25:正常
  • 25-28:过重
  • 28-32:肥胖
  • 高于32:严重肥胖

if-elif判断并打印结果:

# -*- coding: utf-8 -*-

height = 1.75
weight = 80.5

Run

小结

条件判断可以让计算机自己做选择,Python的if...elif...else很灵活。

参考源码

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 注意:
# input()返回的是字符串
# 必须通过int()将字符串转换为整数
# 才能用于数值比较:
age = int(input(‘Input your age: ‘))
if age >= 18:
    print(‘adult‘)
elif age >= 6:
    print(‘teenager‘)
else:
    print(‘kid‘)
时间: 2025-01-20 05:15:46

python 复学(11)---条件判断的相关文章

python基础知识--条件判断和循环

一.输入输出 python怎么来接收用户输入呢,使用input函数,python2中使用raw_input,接收的是一个字符串,输出呢,第一个程序已经写的使用print,代码入下: 1 name=input('Please enter your name:') #把接收到的值赋给name变量 2 print(name)#输出接收到的输入 input在接收输入的时候,是可以看到你输入的值的,如果是输入密码这样的呢,不想让别人看到你的密码,怎么办呢,就需要用到一个标准库,getpass,什么是标准库

Python 基础之条件判断

条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= 18: print('your age is', age) print('adult') 根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做. 也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行

python基础之条件判断和循环

1.条件判断 age = 3 if age >= 18: print('adult') elif age >= 6: print('teenager') else: print('kid') elif是else if的缩写,完全可以有多个elif. 2.循环 python循环有两种, 一种是for...in循环,依次把list或者tuple中的每个元素迭代出来. names = ["geg","gege","geege"]; for

二、Python基础---循环--条件判断(while-for-if-elif-else)

!!!语句!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1.代码实例: #if语句 #!/usr/bin/python3 #_*_coding:utf-8_*_ num = 10 if num == 10: print('对') 运行结果: [[email protected] ~]# python if.py 对 2.复杂的if语句   #注意事项:一定要注意中英的格式,语句的缩进,缩进为4个空格,切记!!! 代码实例:if语句 #

python循环、条件判断

1.python的输入.输出 输入:s =  input("请输入:"))   #input接收到的是str类型 输出:print('hello world') 2.python中的单引号.双引号和三引号(三个单引号)python中定义变量的时候字符串都是用引号括起来,单引号和双引号没有区别,用哪个都行,但是如果说这个字符串里面有单引号的话,那外面就用双引号:里面有双引号的话,外面就用单引号:如果既有单又有双,那么用三引号. 三引号也可以多行注释代码,单行注释,使用#(快捷键 ctrl

Python初学者自学----条件判断

自我学习记录:如有问题,请帮助指正,勿喷.条件判断:用if语句来实现,而且if语句还捆绑了一个else来做判断,字面意思就是例外情况.#比如,输入身高,根据不同的内容,用if语句来实现.#很抱歉我在终端python环境下,没有找到怎么输入判断语句.#所以用的pycharm软件里面查看到的结果.#代码:height = float(input('请告诉我你的身高(单位M)\n'))if height >0 :#if 语句后面一定要跟冒号':' 不然会报错的print('你的身高是:' , heig

Python中的条件判断

# 条件判断 # 1 print("#1") age = 20 if age >= 18:     print('your age is', age)     print('adult') print("---------------------") # 2 print("#2") age = 3 if age >= 18:     print('your age is', age)     print('adult') else:

Python - 基础知识 - 条件判断

1. 简单的if/else条件判断 judge_flow.py name = input("Please input name: ") if name == 'master': print('Hello Master') password = input('Please input password: ') if password == 'abc123': print('Access granted.') else: print('Wrong password!') else: pri

第二章 Python基础之条件判断,循环

1.条件判断if   else 如: if age >=18 and scroe <= 100: #py中不使用&标识并集 等于使用== 不等于使用!= print('成年') else:                       #中间可以使用elif 加如其他条件     print ('dd') 2.循环 遍历 迭代 (1)while循环 需要先定义一个计数器,需要有结束的条件,否则会死循环 count =0 while count<20:     print('tian