Python分支结构和循环结构示例代码

 更新时间:2024年03月21日 10:24:59   作者:是Dream呀  
在Python中,分支结构通过if、elif和else关键字来实现条件判断,在使用if语句时,程序会根据条件表达式的真假执行相应的代码块,这篇文章主要介绍了Python分支结构和循环结构,需要的朋友可以参考下

一、分支结构:

Python中的分支结构和循环结构是编写程序时常用的控制结构。在Python中,分支结构通过if、elif和else关键字来实现条件判断。在使用if语句时,程序会根据条件表达式的真假执行相应的代码块。

if condition1:
    # 如果条件1为真,则执行这里的代码
elif condition2:
    # 如果条件1为假,条件2为真,则执行这里的代码
else:
    # 如果以上条件都不满足,则执行这里的代码

1.if语句的使用

在Python中,要构造分支结构可以使用ifelifelse关键字。所谓关键字就是有特殊含义的单词,像ifelse就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名。下面的例子中演示了如何构造一个分支结构。

username = input('请输入用户名: ')
password = input('请输入口令: ')
# 用户名是admin且密码是123456则身份验证成功否则身份验证失败
if username == 'admin' and password == '123456':
    print('身份验证成功!')
else:
    print('身份验证失败!')

1.1if 语句

if语句是最简单的条件判断语句,它可以控制程序的执行流程。

 if 判断条件:
        满足条件时要做的事情1…
        满足条件时要做的事情2…
        ...(省略)...
        满足条件时要做的事情n…

1.2if-else语句

 if 条件:
        满足条件时要做的事情1
        满足条件时要做的事情2
        ...(省略)...
        满足条件时要做的事情3
    else:
        不满足条件时要做的事情1
        不满足条件时要做的事情2
        ...(省略)...
        不满足条件时要做的事情n

1.3if-elif语句

 if 判断条件1:
        满足条件1时要做的事情
elif 判断条件2:
        满足条件2时要做的事情
elif 判断条件3:
        满足条件3时要做的事情
  • 当满足判断条件1时,执行满足条件1时要做的事情,然后整个if结束;
  • 如果不满足判断条件1,那么判断是都满足条件2,如果满足判断条件2,就执行满足条件2时要做的事情,然后整个if结束
  • 当不满足判断条件1和判断条件2,如果满足判断条件3,则执行满足判断条件3时要做的事情,然后整个if结束。

1.4if嵌套

日常案例:坐车流程

if嵌套指的是在if或者if-else语句里面包含if或者if-else。

 if 条件1:
        满足条件1 做的事情1
        满足条件1 做的事情2
        ...(省略)...
        if 条件2:
            满足条件2 做的事情1
            满足条件2 做的事情2
            ...(省略)...

2.if语句实际操作

2.1英制单位英寸与公制单位厘米互换。

value = float(input('请输入长度: '))
unit = input('请输入单位: ')
if unit == 'in' or unit == '英寸':
    print('%f英寸 = %f厘米' % (value, value * 2.54))
elif unit == 'cm' or unit == '厘米':
    print('%f厘米 = %f英寸' % (value, value / 2.54))
else:
    print('请输入有效的单位')

2.2百分制成绩转换为等级制成绩。

要求:如果输入的成绩在90分以上(含90分)输出A;80分-90分(不含90分)输出B;70分-80分(不含80分)输出C;60分-70分(不含70分)输出D;60分以下输出E。

score = float(input('请输入成绩: '))
if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'E'
print('对应的等级是:', grade)

2.3输入三条边长,如果能构成三角形就计算周长和面积。

a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
    peri = a + b + c
    print(f'周长: {peri}')
    half = peri / 2
    area = (half * (half - a) * (half - b) * (half - c)) ** 0.5
    print(f'面积: {area}')
else:
    print('不能构成三角形')

二、循环结构:

我们在写程序的时候,一定会遇到需要重复执行某条指令或某些指令的场景。如果要实现每隔1秒中在屏幕上打印一次“hello, world”并持续打印一个小时,我们肯定不能够直接把print('hello, world')这句代码写3600遍,这里我们需要构造循环结构。所谓循环结构,就是程序中控制某条或某些指令重复执行的结构。Python提供了两种主要的循环结构,分别是for循环和while循环。

1.while循环

while循环语法格式:

while 条件表达式:
     条件满足,执行循环语句

条件表达式永远为true,无限循环。
如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环。while循环通过一个能够产生bool值的表达式来控制循环,当表达式的值为True时则继续循环,当表达式的值为False时则结束循环。

下面我们通过一个“猜数字”的小游戏来看看如何使用while循环。猜数字游戏的规则是:计算机出一个1100之间的随机数,玩家输入自己猜的数字,计算机给出对应的提示信息(大一点、小一点或猜对了),如果玩家猜中了数字,计算机提示用户一共猜了多少次,游戏结束,否则游戏继续。

import random
# 产生一个1-100范围的随机数
answer = random.randint(1, 100)
counter = 0
while True:
    counter += 1
    number = int(input('请输入: '))
    if number < answer:
        print('大一点')
    elif number > answer:
        print('小一点')
    else:
        print('恭喜你猜对了!')
        break
# 当退出while循环的时候显示用户一共猜了多少次
print(f'你总共猜了{counter}次')

2.for循环

Python中的for循环可以遍历任何序列的项目:
语法格式:

for 变量 in 序列:
    循环语句

例如:

for i in [0,1,2]:   
	print(i)

考虑到我们使用的数值范围经常变化,Python提供了一个内置range()函数,它可以生成一个数字序列。
语法格式:

for i in range(start,end):
     执行循环语句
  • 程序在执行for循环时:
  • 循环计时器变量i被设置为start;
  • 执行循环语句;
  • i 递增
  • 每设置一个新值都会执行一次循环
  • 当i等于end时,循环结束。

3.while嵌套

while嵌套指的是while循环里面还包含while循环。

 while 条件1:
        条件1满足时,做的事情1
        条件1满足时,做的事情2
        条件1满足时,做的事情3
        ...(省略)...
        while 条件2:
            条件2满足时,做的事情1
            条件2满足时,做的事情2
            条件2满足时,做的事情3
            ...(省略)...

三、Python的其他语句

1.break语句

break语句用于结束整个循环。 轮询列表变量ls,当轮询到"深"这个字时候,直接结束整个for循环,从而只打印"深"之前的"桃花潭水":

ls=["桃","花","潭","水","深","千","尺"]
s=""
for i in ls:
    if i == "深":
        break
    s = s + i
print(s)

我们对比一下两个程序:
第一个:

 for i in range(5):
      print("-------")
      print (i)

第二个:

i=1
for i in range(5):
     i+=1
     print("-------")
     if i==3:
         break
     print(i)

第一个是输出五次-------和数字,而第二次是循环前三次,第三次时i=3,触发break语句,结束遍历。

2.continue语句

continue的作用是用来结束本次循环,紧接着执行下一次的循环。for循环遍历字符串s,当遍历到字符等于"l"的时候,continue关键字仅仅只结束当前这一轮循环,而不会结束全部循环,所以当第三第四次遍历到"l"以后,for循环会继续遍历列表下一个字符,即"o"。所以最终纳入n=n+1统计的字符是"heoword",一共7个。

s="helloworld"
n=0
for i in s:
    if i == "l":
        continue
    n = n + 1
print(n)

对比一下这两个语句有啥不同:
第一个:

 for i in range(5):
      print("-------")
      print i

第二个:

i=1
for i in range(5):
     i+=1
     print("-------")
     if i==3:
         continue
     print(i)

第一个就是正常输出五次-------和数字,而第二次第三次遍历因为受到continue语句影响,第三次循环中间中断,不需要打印数字,直接进行第四次循环。

3.pass语句

pass是空语句,它是为了保持程序结构完整性。
pass语句不做任何事情,用作占位

for letter in 'Runoob': 
   if letter == 'o':
      pass
      print ('执行 pass 块')
   print ('当前字母 :', letter)
print ("Good bye!")

4.else语句

else语句可以和循环语句结合使用,并且else语句旨在循环完成后执行。

四、嵌套的循环结构

和分支结构一样,循环结构也是可以嵌套的,也就是说在循环中还可以构造循环结构。下面的例子演示了如何通过嵌套的循环来输出一个乘法口诀表(九九表)。

for i in range(1, 10):
    for j in range(1, i + 1):
        print(f'{i}*{j}={i * j}', end='\t')
    print()

很显然,在上面的代码中,外层循环用来控制一共会产生9行的输出,而内层循环用来控制每一行会输出多少列。内层循环中的输出就是九九表一行中的所有列,所以在内层循环完成时,有一个print()来实现换行输出的效果。

五、循环的例子

1.输入一个正整数判断它是不是素数。

提示:素数指的是只能被1和自身整除的大于1的整数。

num = int(input('请输入一个正整数: '))
end = int(num ** 0.5)
is_prime = True
for x in range(2, end + 1):
    if num % x == 0:
        is_prime = False
        break
if is_prime and num != 1:
    print(f'{num}是素数')
else:
    print(f'{num}不是素数')

2.输入两个正整数,计算它们的最大公约数和最小公倍数。

提示:两个数的最大公约数是两个数的公共因子中最大的那个数;两个数的最小公倍数则是能够同时被两个数整除的最小的那个数。

x = int(input('x = '))
y = int(input('y = '))
for factor in range(x, 0, -1):
    if x % factor == 0 and y % factor == 0:
        print(f'{x}和{y}的最大公约数是{factor}')
        print(f'{x}和{y}的最小公倍数是{x * y // factor}')
        break

如果知道循环的次数,我们通常使用for循环;如果循环次数不能确定,可以用while循环。在循环中还可以使用break来提前结束循环。
通过合理地运用分支结构和循环结构,可以使程序按照不同条件做出相应的处理,并且重复执行特定的代码块,从而实现更加复杂和灵活的逻辑控制。这些控制结构是编写Python程序时的基础,掌握好它们能够帮助开发者编写出更加高效、功能完善的程序。

到此这篇关于Python分支结构和循环结构的文章就介绍到这了,更多相关Python分支结构和循环结构内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • web.py 十分钟创建简易博客实现代码

    web.py 十分钟创建简易博客实现代码

    web.py是一款轻量级的Python web开发框架,简单、高效、学习成本低,特别适合作为python web开发的入门框架
    2016-04-04
  • 聊一聊python常用的编程模块

    聊一聊python常用的编程模块

    好久没用写文章了,动起笔来真不知道写点啥来,好吧,今天就给大家分享一些python常用的编程模块吧,包括文件流的读写及如何删除str中的特定字符,感兴趣的朋友跟随一起学习下吧
    2021-05-05
  • python3.4 将16进制转成字符串的实例

    python3.4 将16进制转成字符串的实例

    今天小编就为大家分享一篇python3.4 将16进制转成字符串的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python高效的素数判断算法

    python高效的素数判断算法

    这篇文章主要介绍了python高效的素数判断算法,研究算法的同学一定要看一下
    2021-04-04
  • TensorFlow实现简单卷积神经网络

    TensorFlow实现简单卷积神经网络

    这篇文章主要为大家详细介绍了TensorFlow实现简单卷积神经网络,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • python之django母板页面的使用

    python之django母板页面的使用

    这篇文章主要介绍了python之django母板页面的使用,母版页用于处理html页面相同部分内容,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • python注释和运算符详解

    python注释和运算符详解

    这篇文章主要为大家介绍了python注释和运算符,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 在python中调用C/C++的三种方法

    在python中调用C/C++的三种方法

    这篇文章主要给大家介绍了关于在python中调用C/C++的三种方法,Python可以通过调用C/C++接口来实现与C/C++语言的交互,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • Python3简单爬虫抓取网页图片代码实例

    Python3简单爬虫抓取网页图片代码实例

    这篇文章主要介绍了Python3简单爬虫抓取网页图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python中比较两个字符串操作实例深究

    Python中比较两个字符串操作实例深究

    本文深入探讨Python中字符串比较的多种方法,并通过丰富的示例代码演示如何灵活运用这些技巧,从基本的相等性检查到更高级的正则表达式模式匹配,读者将了解如何利用Python强大的字符串处理功能,提高对字符串数据的操作技能,以解决日常编程任务中的挑战
    2023-12-12

最新评论