Python学习之分支和循环

Python-分支和循环

分支结构

if

Python的分支结构由if 语句来操刀实现。

第1种:

是判断一个条件,如果这个条件成立,就执行其包含的某条语句或某个代码块。

语法结构如下:

if 条件:
    某条语句或某个代码块

第2种:

是判断一个条件,跟第一种的区别是如果是条件不成立,则执行另外的某条语句或某个代码块。

if 条件:
    某条语句或某个代码块
else:
    某条语句或某个代码块

第3种:

是判断多个条件,如果第一个条件不成立,则继续判断第2个条件,如果第2个条件还不成立,则可以继续判断第3,4…个条件。

if1个条件:
    某条语句或某个代码块
elif2个条件:
    某条语句或某个代码块
elif3个条件:
    某条语句或某个代码块

第4种:

是在第3种的情况下添加一个else,表示上面所有的条件均不成立的情况下,执行某条语法或代码块。

if1个条件:
    某条语句或某个代码块
elif2个条件:
    某条语句或某个代码块
elif3个条件:
    某条语句或某个代码块
else:
    某条语句或某个代码块

第5种:

1.条件表达式

相当于将一个完整的if-else结构整合成一个表达式来使用。(在实用性来讲前面几种比较易于理解,知道就好

条件成立时执行的语句 if 条件 else 条件不成立时执行的语句

上课案例:

small = a if a < b else small = b
print (small)
score = 66
level = ('D' if 0 <= score < 60)else
		 'C' if 60 <= score < 80 else
    	 'B' if 80 <= score < 90 else
         'A' if 90 <= score < 100 else
         'S' if score == 100 else
        '请输入 0-100 之间的分值^o^')
2.分支结构的嵌套:

所谓嵌套,就是类似于下面小甲鱼案例中的代码:

>>> age = 18
>>> isMale = True
>>> if age < 18:
...     print("抱歉,未满18岁禁止访问。")
else:
...     if isMale:
...         print("任君选购!")
...     else:
...         print("抱歉,本店商品可能不适合小公举哦~")
        
任君选购!

循环结构

能跟分支大佬平起平坐的也就是循环结构,分支结构能让你的程序根据条件去做不同的事情,而循环结构能让你的程序不断做同一件事情,这就是所谓的道不同而一样很牛逼!

Python 有两种循环语句: while 循环和for 循环。

while 循环

while 条件:
    某条语句或某个代码块

只要条件一直成立,那么包含的某条语句或某个代码块就会一直被执行。

死循环

如果条件一直成立,那么循环体就一直被成立。

>>> while True:
...     print("作为一段没有灵魂的代码,我的任务就是不断地干活!")

所谓死循环,就是打死也不会结束的循环。

break 语句

在循环体内,一旦遇到braek语句,Python 二话不说马上就会跳出循环体,即便这时候循环体内还有未执行的语句,Python 都会直接跳出。

continue 语句

实现跳出循环体的还有另外一个语句,那就是 continue 语句。

continue 语句也会跳出循环体,但是, 它只是跳出本一轮循环,它还会回到循环体的条件判断位置,然后继续下一轮的循环。(如果

条件还满足的话)。

注意 它和 break 语句两者的区别:

· continue 语句是跳出本次循环,回到循环的开头

· break 语句则是直接跳出循环体, 继续执行后面的语句。

else 语句

当你的循环的条件不再为真时,便执行 else 语句的内容。

i=1
while i < 5:
    print('循环内,i的值是',i)
    i += 1
else:
    print('循环外,i的值是',i)
    
 

>>>
循环内,i 的值是 1
循环内,i 的值是 2
循环内,i 的值是 3
循环内,i 的值是 4
循环外,i 的值是 5

小技巧

while-else 可以非常容易地检测到循环的退出情况。

>>> day = 1
>>> while day <= 7:
...     answer = input("今天有好好学习吗?")
...     if answer != "有":
...         break
...     day += 1
... else:
...         print("非常棒,你已经坚持了7天连续学习!")

>>>
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
非常棒,你已经坚持了7天连续学习!

嵌套

循环也能玩嵌套,而且玩得更六!

有时候,我们的需求可能要用到不止一层循环来实现。

比如我们要实现打印一个九九乘法表,就可以这么实现:

i = 1
while i <= 9:
    j = 1
    while j<= i:
        print(j,'*',j*i,end=" ")
        j +=1
        print()
        i += 1
   # 九九乘法表的打印     

>>>
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81

注意:

无论是break语句还是continue语句,它们只能作用于一层循环体。

for 循环

语法结构如下:

for 变量 in 可迭代对象:
    某条语句或某个代码块

什么是可迭代对象?

所谓可迭代对象,就是指那些元素能够被单独提取出来的对象。 比如我们学过的字符串,它就是一个迭代对象。

什么叫迭代呢?

比如如说每一次从字符串“FishC"里面拿一个字符出来,那么你依次会拿出’F‘、’i’、‘s’、’h’、‘C’ 五个字符,这个过程我们称之为迭代。

1.range()

range(stop) 会帮你生成一个从0开始, 到stop(不包含)的整数数列。

range(start, stop) - 将生成一个从 start 开始, 到 stop (不包含)的整数数列

range(srart,stop,step) - 将生成一个从 start 开始, 到 stop (不包含) 结束,步进跨度为 step的整数数列

2. for 循环 和 while 循环的共通性

for 循环和 while 循环一样, 都是可以支持嵌套的, 同样它也可以搭配 break 和 continue 语句。

>>> for n in range(2, 10):
...     for x in range(2, n):
...         if n % x == 0:
...             print(n, "=", x, "*", n // x)
...             break
...     else:
...         print(n, "是一个素数")
...

2 是一个素数
3 是一个素数
4 = 2 * 2
5 是一个素数
6 = 2 * 3
7 是一个素数
8 = 2 * 4
9 = 3 * 3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值