Board logo

标题: python流程控制 [打印本页]

作者: look_w    时间: 2019-5-18 10:26     标题: python流程控制

本章我们来学习python的基础流程控制。
包括 if 条件语句、for 循环 和 while 循环语句; continue 及 break 的用法等,无 switch 语句。
if 语句

以下例为例,if(…) 括号内为一表达式,当为True(即成立)时,执行对应的代码段,注意,所有条件语句后方都需加冒号 :

''' 判断用户输入的整数是几位数(暂不考虑用户输入非整数)
    为0                输出     It's zero.
    个位数            输出    It's a number below 10
    两位数            输出    It's a two-digit number
    三位数级以上     输出    It's digit is more than two
'''
user_input = raw_input("Please input a number: ")    # Python 2
# user_input = input("Please input a number: ")      # Python 3
n = int(user_input)            # 用户输入的类型为字符串,转换为整数类型

if (n==0):
    print("It's zero.")
elif (n<10):
    print("It's a number below 10")
elif (n<100):
    print("It's a two-digit number")
else:
    print("It's digit is more than two")


可以有零到多个elif 部分,else 是可选的。
关键字elif是else if的缩写,这个可以有效地避免过深的缩进。
if … elif … elif … 序列于替代其它语言中的switch case语句。
for 语句

Python 中的 for 语句和 C Pascal 中的 有不同。通常的循环可能会由用户来定义迭代步骤和中止条件(如 C ),Python 的 for 语句依据任意序列(链表或字符串)中的子项,按它们在序列中的顺序来进行迭代。

# for 语句实例
string = "python"
for i in string:   
    print(i)            # 字符串处理
list = ["l","i","s","t"]
for i in list:
    print(i)            # 列表处理
for i in range(5):
    print(i)            # range()函数,range(5) 表示 0 到 4




while 语句

while(…) 括号内表达式若为 True,则继续执行代码段;若为False,停止执行

# while语句实例
i=1
while(i<10):
    print(i)
    i += 1



需要注意错误代码导致的无限循环,如:

i=1
while(i>0):
    i += 1
    print(i)



break 、 continue 语句

break 直接跳出循环,执行循环后的语句

i=1
while(i<5):
    if(i==3):
        break
    print(i)
    i += 1



continue语句跳出当前循环,并执行下一次循环

i=1
for i in range(1,6):
    if(i==3):
        continue
    print(i)




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0