Python编程快速上手-控制流

1. 控制流的元素

控制流语句的开始通常是条件,之后跟一个代码块,称为子句。
条件求值为布尔值,True 或 False, 控制流语句根据条件来决定做什么。
几乎所有控制流语句都使用条件。

代码块的3条规则:
①缩进增加时,代码块开始。
②代码块可以包含其他代码块。
③缩进减少为零,或减少为外面包围代码块的缩进时,代码块结束。

所有控制流语句都是以冒号结尾,后面跟一个新的代码块(子句)。

2. 控制流语句

  • if 语句
    if 语句的子句,在条件为 True 时执行;如果条件为 False,语句将跳过。
if name == 'Alice':
    print('Hi Alice.')
  • else 语句
    if 子句后面有时也会跟着 else 子句,只有 if 语句的条件为 False 时,else 语句才会执行。
if name == 'Alice':
    print('Hi Alice.')
else:
    print('Hello, stranger.')
  • elif 语句
    elif 语句是“否则如果”,常跟在 if 语句或另一条 elif 语句后面。
    它提供了另一个条件,仅在前面的条件为 False 时才检查这个条件。
if name == 'Alice':
    print('Hi Alice.')
elif age < 12:
    print('You are not Alice, kiddo.')

如果 name == ‘Alice’ 为 False 并且 age <12 时,elif 语句就会执行。
如果两个条件都为 False,那么两个子句都会跳过,不执行。
如果有很多 elif 语句,仅有一条或者零条语句会被执行。
一旦一个语句的条件为 True,剩下的 elif 语句都不会执行,而自动跳过。

如下 :

if name == 'Alice':
    print('Hi Alice.')
elif age < 12:
    print('You are not Alice, kiddo.')
elif age > 2000:
    print('Unlike you, Alice is not an undead,immortal vampire.')
elif age > 100:
    print('You are not Alice, grannie.')

同时,elif 语句的次序很重要,一旦找到一个 True 条件时,剩余的子句会自动跳过。
对于 elif 语句,最多只有一个子句被执行。

if name == 'Alice':
    print('Hi Alice.')
elif age < 12:
    print('You are not Alice, kiddo.')
elif age > 100:
    print('You are not Alice, grannie.')
elif age > 2000:
    print('Unlike you, Alice is not an undead,immortal vampire.')

可以在最后的 elif 语句后面加上 else 语句,保证至少有一个且只有一个子句被执行。
也就是,如果每一个 if 语句和 elif 语句的条件都为 False,那么就执行 else 语句。

if name == 'Alice':
    print('Hi Alice.')
elif age < 12:
    print('You are not Alice, kiddo.')
else:
    print('You are neither Alice nor a kiddo.')
  • while 语句
    只要 while 语句的条件为 True,while 子句中的代码就会执行。这一点和 if 语句类似,不同的是它们的行为。
    if 子句结束时,程序继续执行 if 语句之后的语句;
    但是 while 子句结束时,程序执行跳回到 while 语句开始处,常被称为"while 循环"
spam = 0
if spam < 5:
    print('Hello, world.')
    spam = spam +1

在这里插入图片描述

在while循环中,条件总是在每次“迭代”开始时检查(也就是每次循环执行时)。
如果条件为True,子句就会执行,然后,再次检查条件。
当条件第一次为False时,while子句就跳过。

spam = 0
while spam < 5:
    print('Hello,world.')
    spam = spam +1

在这里插入图片描述

  • break 语句
    如果遇到 break 语句,会马上退出 while 子循环。
    在代码中,break 语句仅包含 break 关键字。
while True:
    print('Pleaase type your name.')
    name = input()
    if name == 'your name':
       break
print('Thank you!')

在这里插入图片描述

  • continue 语句
    和 break 语句一样,continue 语句用于循环内部。
    如果程序遇到 continue 语句,就马上跳回到循环开始处,重新对循环条件求值(这同时也是执行到达循环末尾时发生的事)
while True:
    print('Who are you?')
    name = input()
    if name != 'Joe':
       continue
    print('Hello, Joe. What is the password?')
    password = input()
    if password == 'swordfish':
       break
print('Access granted.')

在这里插入图片描述

在用于条件时,0、0.0 和 ’ ’ (空字符串) 被认为是False,其他值被认为是 True

name = ''
while not name:
    print('Enter your name:')
name = input()
print('How many guests will you have?')
numOfGuests = int(input())
if numOfGuests:
    print('Be sure to have enough room for all your guests.')
    print('Done')

Ctrl-C 终止循环

在这里插入图片描述

  • for 循环和 range() 函数
    for 循环和 range() 函数可以让让一个代码块执行固定次数。

fiveTimes-for.py

print('My name is')
for i in range(5):
    print('Jimmy Five Times (' + str(i) +' )')

在这里插入图片描述
fiveTimes-while.py

print('My name is')
i = 0
while i < 5:
    print('Jimmy Five Times (' + str(i) + ')')
    i = i + 1

在这里插入图片描述

在 for 循环中使用 continue 语句时,continue 语句让 for 循环变量继续下一个值,和程序执行达到循环的末尾并返回开始一样。

只能在 while 和 for 循环内部使用 continue 和 break 语句。如果试图在别处使用这些语句,Python 将报错。

计算 0-100 的整数之和:

total = 0
for num in range(101):
    total = total + num
print(total)

在这里插入图片描述

(End)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值