python基础之条件与循环语句

举报
yk 坤帝 发表于 2022/01/12 00:13:43 2022/01/12
【摘要】 个人公众号:yk 坤帝 获取python基础系列全部资料 1. 条件与条件语句介绍及用法 目前为止的语句都是逐条执行的,而Python的条件语句通过某些条件是True或False来决定是否选...

个人公众号:yk 坤帝
获取python基础系列全部资料

1. 条件与条件语句介绍及用法

目前为止的语句都是逐条执行的,而Python的条件语句通过某些条件是True或False来决定是否选择执行或是跳过某些特定的语句块。通常来说,False、None、各种类型(包括浮点数、复数等)的数值0、空序列(如空字符串、空元组和空列表)以及空映射(如空字典)这些都被视为假,其他各种值都被视为真。

Python中的条件语句用ifelse来控制程序的执行,基本形式为:
					if 判断条件:
						执行语句段1……
					else:
						执行语句段2……

  
 
当判断条件为真时,执行紧接着的语句段,这部分内容可以多行,以缩进来区分。else部分为可选语句,当有需要在条件不成立时执行的内容可以在此处写下。

  
 

if语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)、!=(不等于)来表示。

Python与C语言的条件语句有些不同,Python不支持switch语句,所以多个条件判断,只能使用elif来实现。因此当判断条件为多个值,可以使用以下的形式:
					if 判断条件1:
						执行语句段1……
					elif 判断条件2:
						执行语句段2……
					elif 判断条件3:
						执行语句段3……
					else:
						执行语句段4……

  
 
如果多个条件需同时判断时,可以使用or(或),表示两个条件只要有一个成立时值即为真;使用and(与)时,表示只有两个条件同时成立的情况下,值才为真。同时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等符号,即大于和小于在没有括号的情况下会比与或要优先判断。
除此之外,if语句还可以实现嵌套,可将if语句放到其他if语句中,来实现判断后的再次判断。

  
 

下面通过一个使用条件语句的程序例子来说明:

【例 3-47
 
程序3-1  条件语句的应用实例
num = 9
if num < 0:
    print('负数!')
elif num > 0:

  
 
# Python3中,下面式子括号里可合并为 0<= num <= 100

  
 
if (num >= 0 and num <= 100) or (num >= 100 and num <= 150): 
        print(num)
else:
    print('大于150!')

  
 
num = 9
if num < 0:
    print('负数!')
elif num > 0:

  
 
    # Python3中,下面式子括号里可合并为 0<= num <= 100
if (num >= 0 and num <= 100) or (num >= 100 and num <= 150): 
        print(num)
else:
    print('大于150!')

  
 

2. 循环语句介绍及用法

当了解了条件语句如何使程序在条件为真(或假)时执行特定的操作,接下来则进一步了解如何重复执行某些操作,这里通过循环语句来解决这个问题。

Python的基本循环语句是while循环和for循环,在这些基础上加入一些跳出循环的语句就可以使得整个程序的流程更为多样,可能性更为丰富。

下面我们对这些一一进行介绍:

1)while循环

while循环的基本形式为:
					while 判断语句:
						执行语句……
	执行语句可以是单个语句或语句段,判断语句可以是任何表达式,结果真时就执行语句,当判断条件为假的时候,循环结束。
	不仅如此,while语句后还可以加else语句,表示在循环条件为假时执行另一段程序,形式为:
					while 判断语句:
						执行语句1……
					else:
						执行语句2……

  
 
【例 3-48
 

程序3-2 while循环的应用实例

numbers = [12,23,34,45,56,67,78,89]
even = []
odd = []
while len(numbers) > 0:
    number = numbers.pop()
    if(number % 2) == 0:
        even.append(number)
    else:
        odd.append(number)
else:
    print(even)
    print(odd)
输出结果
[78, 56, 34, 12]
[89, 67, 45, 23]

  
 

2)for循环

for循环的循环基本思想是在遍历某一序列的每一个项目时执行一段语句,序列可以是一个列表或字符串,也可以是一个范围。

for循环的基本形式为:
					for 迭代变量 in 序列: 
						执行语句……

  
 
for循环遍历的是一个范围时,迭代变量相当于一个计数器,序列则通常是使用len()函数获取的列表长度和range()函数返回的元素范围等等。
和while相类似,for循环也可以同else结合表示跳出循环后执行的内容。
【例 3-49
 

程序3-3 for循环的应用实例

books = ['math','chinese','computer science']
for index in range(len(books)):
    print("book about "+str(index)+":", books[index])
else:
    print("Bye")
输出结果
book about 0: math
book about 1: chinese
book about 2: computer science
Bye

  
 

3)嵌套循环

Python允许在一个循环体中嵌入另一个循环,比如同类型的,在for循环中嵌入for循环,在while循环中嵌入while循环。不仅如此,在while循环中可以嵌入for循环,在for循环中可以嵌入while循环等等。

break跳出循环:Python的break语句用来终止循环语句,即使循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。它在while和for中都可以被使用,当使用嵌套循环时,break语句将停止执行最深层的循环,并开始执行下一行代码。

【例 3-50】

程序3-4 break跳出循环的应用实例

for letter in 'Python':     
   if letter == 'h':
      break
      print('这是 break 块')
   print('当前字母 :', letter)
print('break')
输出结果
当前字母 : P
当前字母 : y
当前字母 : t
break

  
 

continue跳出循环:相比于break跳出整个循环,continue 语句用来跳出本次循环。言下之意是,continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。它可以在while和for循环中使用。

【例 3-51】

程序3-5 continue跳出循环的应用实例

for letter in 'Python':     # 第一个实例
   if letter == 'h':
      continue
      print('这是 continue 块')
   print('当前字母 :', letter)
print('continue')
输出结果
当前字母 : P
当前字母 : y
当前字母 : t
当前字母 : o
当前字母 : n
continue

  
 

pass跳出循环:Python的pass是空语句,为了保持程序结构的完整性而设计的。pass不做任何事情,一般用做占位语句。

【例 3-52】

程序3-6 pass跳出循环的应用实例

for letter in 'Python':
   if letter == 'h':
      pass
      print('这是 pass 块')
   print('当前字母 :', letter)
print('pass')
输出结果
当前字母 : P
当前字母 : y
当前字母 : t
这是 pass 块
当前字母 : h
当前字母 : o
当前字母 : n
pass

  
 

个人公众号:yk 坤帝
获取python基础系列全部资料

文章来源: blog.csdn.net,作者:yk 坤帝,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_45803923/article/details/122416840

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。