Python中流程控制语句

Python中流程控制语句,第1张

Python中流程控制语句 1、基本概念 1.1 流程控制语句

流程控制语句就是按照一定的步骤来实现某些功能的语句
python 中主要的流程控制语句:选择语句、条件表达式、循环语句、跳转语句、pass 语句

1.2 程序结构

(1)顺序结构:按照代码的顺序依次执行
(2)选择结构:根据条件表达式的结果选择执行不同的语句,通常使用 if 语句实现
(3)循环结构:在一定条件下反复执行某段程序的流程结构

2、if语句

常用逻辑条件:
等于:a == b
不等于:a != b
小于:a < b
小于等于:a <= b
大于:a > b
大于等于:a >= b

2.1 简单的if语句

语法:如果符合条件,则…
if 表达式:
  语句块

a = 66
b = 200
if b > a:
  print("b is greater than a")


简写 If
如果只有一条语句要执行,则可以将其与 if 语句放在同一行

a = 200
b = 66
if a > b: print("a is greater than b")

2.2 if…else 语句

** 语法:如果符合条件,则…,否则…
if 表达式:
   语句块1
else:
   语句块2**

a = 200
b = 66
if b > a:
  print("b is greater than a")
elif a == b:
  print("a and b are equal")
else:
  print("a is greater than b")

2.3 简写 If … Else

如果只有两条语句要执行,一条用于 if,另一条用于 else,则可以将它们全部放在同一行:

实例1:
单行 if else 语句:

a = 200
b = 66
print("A") if a > b else print("B")


实例2:
单行 if else 语句,有三个条件:

a = 200
b = 66
print("A") if a > b else print("=") if a == b else print("B")

2.4 if…elif…else 语句

语法:如果符合条件,就…,否则,如果满足另一种条件,则…

实例:

a = 200
b = 66
if b > a:
  print("b is greater than a")
elif a == b:
  print("a and b are equal")
else:
  print("a is greater than b")

2.5 if 语句的嵌套

语法:嵌套语法可以有多种结合,此处列举一列如下
if 表达式1:
  if 表达式2:
    语句块2
  else:
    语句块3
else:
  语句块1

# 实例:判断是否为酒后驾车
# -*- coding:utf-8 -*-
# version:python3.7

print("为了您和家人的安全,严禁酒后驾车!")
proof = int(input("请输入每100毫升血液的酒精含量:"))
if proof < 20:
    print("您还不构成饮酒驾车,可以开车,但请注意安全!")
else:
    if 80 > proof >= 20:
        print("已经达到酒后驾驶标准,请不要开车!")
    else:
        print("您已经达到醉酒驾驶标准,千万不要开车!!!")


3 while 循环

如果使用 while 循环,只要条件为真,我们就可以执行一组语句。

实例1:
只要 i 小于 7,打印 i:

i = 1
while i < 7:
  print(i)
  i += 1


实例2:
while循环实现1+2+…+100

sum = 0
n = 0
while n <= 100:
    sum = sum + n
    n += 1
print("1+2+...+100=",sum)

break 语句
如果使用 break 语句,即使 while 条件为真,我们也可以停止循环:

实例:
在 i 等于 3 时退出循环:

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


continue 语句
如果使用 continue 语句,我们可以停止当前的迭代,并继续下一个:

实例:
如果 i 等于 3,则继续下一个迭代:

i = 0
while i < 7:
  i += 1 
  if i == 3:
    continue
  print(i)


else 语句
通过使用 else 语句,当条件不再成立时,我们可以运行一次代码块:

实例:
条件为假时打印一条消息:

i = 1
while i < 6:
  print(i)
  i += 1
else:
  print("i is no longer less than 6")

4 For 循环

for 循环用于迭代序列(即列表,元组,字典,集合或字符串)。
这与其他编程语言中的 for 关键字不太相似,而是更像其他面向对象编程语言中的迭代器方法。
通过使用 for 循环,我们可以为列表、元组、集合中的每个项目等执行一组语句。

实例1:
打印 fruits 列表中的每种水果:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x)


实例2:
实例:for循环实现1+2+…+100

sum = 0                 #保存累加结果的变量
for i in range(101):    #range()函数实现数值循环:生成一系列连续整数
    sum += i            #实现累加
print("1+2+...+100=",sum)


实例3:
使用循环嵌套,输出99乘法表

for i in range(1,10):         #控制行数
    for j in range(1,i+1):    #输出与行数相等的列,range不包括结束值,所以i+1
        print('{}*{}={}t'.format(j, i, j*i),end='')    #t:转义字符一个Tab键,end='':在一行输出
    print("")    #转行

循环遍历字符串
甚至连字符串都是可迭代的对象,它们包含一系列的字符:

实例:
循环遍历单词 “banana” 中的字母:

for x in "banana":
  print(x)


break 语句
通过使用 break 语句,我们可以在循环遍历所有项目之前停止循环:

实例1:
如果 x 是 “banana”,则退出循环:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x) 
  if x == "banana":
    break


实例2:
当 x 为 “banana” 时退出循环,但这次在打印之前中断:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  if x == "banana":
    break
  print(x)


continue 语句
通过使用 continue 语句,我们可以停止循环的当前迭代,并继续下一个:

实例1:
不打印香蕉:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  if x == "banana":
    continue
  print(x)


range() 函数
如需循环一组代码指定的次数,我们可以使用 range() 函数,
①range(n)范围0到n-1
range() 函数返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束。

实例1:
使用 range() 函数:

for x in range(10):
  print(x)


注意:range(10) 不是 0 到 10 的值,而是值 0 到 9。

②range(n,m):范围n到m-1
range() 函数默认 0 为起始值,不过可以通过添加参数来指定起始值:range(3, 10),这意味着值为 3 到 10(但不包括 10):

实例2:
使用起始参数:

for x in range(3, 10):
  print(x)


③range(n,m,k),范围n到m-1,步长为k
range() 函数默认将序列递增 1,但是可以通过添加第三个参数来指定增量值:range(2, 30, 3):

实例3:
使用 3 递增序列(默认值为 1):

for x in range(3, 50, 6):
  print(x)


For 循环中的 Else
for 循环中的 else 关键字指定循环结束时要执行的代码块:

实例:
打印 0 到 9 的所有数字,并在循环结束时打印一条消息:

for x in range(10):
  print(x)
else:
  print("Finally finished!")


嵌套循环
嵌套循环是循环内的循环。
“外循环”每迭代一次,“内循环”将执行一次:

实例:
打印每个水果的每个形容词:

adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]

for x in adj:
  for y in fruits:
    print(x, y)


pass 语句
for 语句不能为空,但是如果您处于某种原因写了无内容的 for 语句,请使用 pass 语句来避免错误。

实例:

for x in [0, 1, 2]:
  pass


实战1:
电影院座位五行七列,你的座位为第二行第三列,请找出你的座位

for row in range(1,5):
    print("当前所在排:",row)
    if row == 2:
        print("这是您座位所在排")
        for column in range(1,8):
            print("当前所在列:",column)
            if column == 3:
                print("这是您的座位")
                break
        break


实战2:
#实例:逢七过游戏(叫数游戏:遇到七的倍数和以七结尾的数过)

total = 99    #假定99次都过
for number in range(1,100):    #从1循环到99
    if number % 7 == 0:    #是七的倍数
        continue           #继续下一次叫数
    else:
        string = str(number)
        if string.endswith('7'):    #判断是否以七结尾
            continue       #继续下一次循环
    total -= 1    #可过次数-1
print("从1到99可以过",total,"次")


实战3:
打印100以内的斐波那契数列

a2 = 1
a1 = 1
print(a2,end=' ')
print(a1,end=' ')
while True:
    a = a2 + a1
    if a > 100:
        break
    else:
        print(a,end=' ')
    a2 = a1
    a1 = a


实战4:
#求斐波那契数列的第101项

a2 = 1
a1 = 1
count = 2

while True:
    a = a2 + a1
    if count == 100:
        print(a,end=' ')
        break
    count += 1
    a2 = a1
    a1 = a


实战5:
先求20以内的所有质数,再求10万以内的所有质数

for i in range(2,20):
    count = 0
    for j in range(1,i):
        if i % j == 0:
            count += 1
    if count == 1:
        print(i,end=' ')

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5156897.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存