Python 知识量:10 - 41 - 150
在程序中进行决策时(例如:在某一时刻决定执行那条语句),需要使用条件语句,即if语句。
最常见的条件语句就是if/else语句。以下是一个应用if/else语句编写的用户登录判断的程序:让用户输入密码。如果密码正确就显示登录;如果错误就给出提示。最后显示程序执行完毕。
# if.py pwd = input('Please input the password:') if pwd == 'pnotes': print('Logging on ...') else: print('Incorrect password.') print('All done.')
如果输入pnotes,执行的结果为:
>>> ======================= RESTART: D:\PythonTestFile\if.py ======================= Please input the password:pnotes Logging on ... All done.
if/else语句具有以下重要特点:
总是以关键字if开头,其后是一个布尔逻辑表达式,称为if条件,条件后面是一个冒号。以上3项必须位于同一行。
从if到同一行的冒号(:)这部分称为语句头。
如果if条件为True,将执行其后的print('Logging on ...'),并跳过else代码块。
如果if条件为False,将执行print('Incorrect password.'),而print('Logging on ...')将被跳过。
不论if条件如何,都将执行print('All done.')
else代码块是可选的,可根据需求决定是否包含它。
if/elif语句是if语句的扩展版本,重要的特点是可以包含多个条件,用于复杂的决策。以下是一个判断数字区间的程序:
# elif.py number = int(input('Please input a number(0-50):')) if number <= 10: print('0-10') elif 10<number<=20: print('11-20') elif 20<number<=30: print('21-30') elif 30<number<=40: print('31-40') elif 40<number<=50: print('41-50') print('All done.')
根据输入不同,运行的结果可能为:
====================== RESTART: D:\PythonTestFile\elif.py ====================== Please input a number(0-50):21 21-30 All done.
在number获取用户输入的数字后,程序会对if/elif语句自上而下检查每一个条件,如果满足某个条件,就执行紧跟其后的下一行程序,然后将跳出整个if/elif语句,执行最后的print语句。
if语句有一种简写方式,称为条件表达式,以下是一个示例:
# expression.py number = int(input('Please input a number(0-100):')) mark = 'Big' if number>50 else 'Small' print(mark)
如果输入51,执行结果为:
>>> =================== RESTART: D:\PythonTestFile\expression.py =================== Please input a number(0-100):51 Big
如果输入50,执行结果为:
>>> =================== RESTART: D:\PythonTestFile\expression.py =================== Please input a number(0-100):50 Small
以上条件表达式代码等价于以下代码:
# expression.py number = int(input('Please input a number(0-100):')) if number>50: mark = 'Big' else: mark = 'Small' print(mark)
条件表达式虽然相对简洁,但最大的问题是它更加难以理解,因此建议只在非常必要的情况下才使用它。
Python的一个非常重要的特点是使用缩进来标识代码块。如果要标识同一个代码块,就必须要以同样的程度缩进代码块的每一行。也就是说,对于连续的、具有相同缩进量的代码行,Python将其视为同一个代码块,如同在它们外面加了一对花括号。例如以下代码:
# part.py number = int(input('Please input a number(0-100):')) if number>50: mark = 'Big' print(mark) print('execute if part') else: mark = 'Small' print(mark) print('execute else part') print('All done')
如果输入51,运行结果为:
>>> ====================== RESTART: D:\PythonTestFile\part.py ====================== Please input a number(0-100):51 Big execute if part All done
在以上代码中,mark = 'Big'、print(mark)和print('execute if part')具有相同的缩进量,因此,它们是同一个代码块,当满足if条件时,它们将同时执行。
在Python中,缩进不止使编码更加美观,而且被赋予了这一特殊含义和功能,成为必须遵守的规则,这其实是有积极意义的。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6