python基础知识——程序控制语句

一.顺序语句

   顺序语句就是程序运行的默认顺序,从第一行执行到最后一行。例如下面展示的代码,执行结果一定是,111,222,333,不会出现其他情况。这个规则能够规避很多问题,试想,先结婚在生孩子,和先生孩子在结婚是完全不一样的,先生孩子在结婚肯定会带来很对不必要的麻烦。

print('111')
print('222')
print('333')

二.条件语句

1.什么是条件语句?

   条件语句能够表达“如果…否则…”这样的语句,这就构成了计算机中基础的 逻辑判定 。  

   条件语句也叫做分支语句,表示接下来的逻辑可能有几种走向。 

如果 我认真敲代码

        我就容易找到工作

否则

        我就容易毕业即失业

   其中,“我认真敲代码”称为“条件”,如果条件成立(条件为真),则会出现“我就很容易找到工作”这个情况。如果条件不成立(条件为假),则会出现“我就容易毕业即失业”。

   当然,同样的逻辑,还可以反着表达。

如果 我选择躺平摆烂

        我就容易毕业即失业

否则 

        我就很容易找到工作 

   虽然结构变了,但是整体表达的语义是等价的。

2.语法格式

python 中使用 if else 关键字表示条件语句。

(1) if

if expression:

        do_something1

        do_something2

next_something 

如果 expression 值为 True,则执行 do_something1,do_something2,next_something.

如果 expression 值为 False,则执行 next_something,不执行 do_something1,do_something2. 

(2) if - else

if expression:

        do_something1

else:

        do_something2

如果 expression 值为 True,则执行 do_something1.

如果 expression 值为 False,则执行 do_something2.

(3) if - elif - else

if expression1:

        do_something1

elif expression2:

        do_something2

else:

        do_something3

如果 expression1 值为 True,则执行 do_something1.

如果 expression1 值为 False,并且 expression2 为 True 则执行 do_something2.

如果 expression1 值为 False,并且 expression2 为 False 则执行 do_something3. 

# 让用户输入一个数字,如果输入1 表示愿意认真学习,输入2 表示想躺平摆烂

choice = input("输入 1 表示愿意认真学习, 输入 2 表示躺平摆烂:")

# 注意这里要比较的是 字符串 1 ,不是 整数 1
if choice == '1':
    print('你能够找到好工作')
else:
    print('你可能毕业即失业')

   这就是上述代码的简单案例,但是上述代码存在一个严重的问题,整个代码只包含了输入1,2,的情况,但是输入其他数字时,可能会出现问题。

   就比如,我输入的值是 3 ,按道理是得不到上面两个结果的,但是仍然得到了上述结果,所以我们改进代码。

# 让用户输入一个数字,如果输入1 表示愿意认真学习,输入2 表示想躺平摆烂

choice = input("输入 1 表示愿意认真学习, 输入 2 表示躺平摆烂:")

# 注意这里要比较的是 字符串 1 ,不是 整数 1
if choice == '1':
    print('你能够找到好工作')
elif choice == '2':
    print('你可能毕业即失业')
else:
    #除了 1 和 2 其他的情况都算非法情况
    print("您的输入有误!")

   对于非法情况的判定,也是非常必要的!你永远不知道用户会如何进行操作!

3.缩进和代码块

   代码的缩进至关重要,有没有缩进

if a =='1'
    print('aaaa')
    print('bbbb')

   如果条件成立,那么 aaaa 和 bbbb 都会打印。

   如果条件不成立,那么都不会打印!

if a == 1
    print('aaaa')
print('bbbb')

   bbbb 和条件无关了,条件是否成立都会打印 bbbb,不属于条件语句中的内容了。

   在 Python 中,缩进表示代码块,有具体的含义,所以缩进必须严格符合规定,不能乱写,符合缩进的规范,代码也具有的更高的可读性。

4.代码块的嵌套

a = input("请输入 a 的值:")
b = input("请输入 b 的值:")
if a == '1':
    if b =='2':
        print('aaa')
    print('bbb')
print('ccc')

   根据缩进的格式,我们不难发现这是一个条件判断的嵌套。

   如果两个条件都满足,才会打印 aaa ,因为打印 aaa 的语句有两级缩进,相当于是 if b == '2'条件内部的代码块。

   第一个条件满足,就会打印 bbb ,因为打印 bbb 的语句只有一级缩进,相当于是 if a == '1'条件内部的代码块。

   两个条件都不满足,也会打印 ccc ,因为打印 ccc 的语句,没有缩进,相当于和两个 if 都无关。

   当有多级代码条件嵌套时,当前的语句属于哪个代码块,完全取决于缩进的级别。

5.空语句

   空语句:pass,意思是直接通过,用于处理一些什么也不需要做的情况。

a = input("请输入一个数字:")
if a != '1':
    # 啥也不做,但是也不能啥也不写,否则编译通过不了
    pass
else:
    print('hello')

三.循环语句

1. while 循环

基本语法格式:

   while 条件:

         循环体

  • 条件为真,则执行循环体。
  • 条件为假,则结束循环。 
num = 1
sum = 0
while num <= 100:
    sum += num
    num += 1
print(num)

三要素:

  • 循环变量的初始值
  • 循环判定条件
  • 循环变量的更新语句 

 2. for 循环

   for 循环变量 in 可迭代变量:

        循环体

注意:

  • python 的 for 和其它语言不同,没有“初始化语句”,“循环条件判定语句”,“循环变量更新语句”,而是更加简单。
  • 所谓的“可迭代对象”,指的是“内部包含多个元素,能一个一个元素取出来的特殊变量”。
# 打印 1-10
for i in range(1,11):
    print(i)

   range 是一个内建函数,起到的效果是 得到一个“可迭代对象”,这个可迭代对象中就包含了一些列的整数,range(begin,end) => [begin,end),前闭后开区间。

   需要注意的是,range 还提供了第三个参数,表示“步长” ,默认的步长值为 1。

#打印 2,4,6,8,10
for i in range(2,12,2)
    print(i)
#打印从 10 到 1
for i in range(10,0,-1)
    print(i)

3.break 和 continue 

  • break 表示跳出整个循环。
  • continue 表示跳出当前循环。 

举个例子,去包子铺吃包子。

# 假设你要吃 5 个包子
for i in range(1,6):
    if i == 3:
        # 发现第三个包子,有一只蠕动的蛆
        continue
    print(f'吃第{i}个包子')

   吃到第三个包子,吃出了一只蠕动的蛆,这个包子就没法吃了,所以只能放弃这个包子。

# 假设你要吃 5 个包子
for i in range(1,6):
    if i == 3:
        # 发现第三个包子,有半只蠕动的蛆
        break
    print(f'吃第{i}个包子')

   这种情况下,吃到第三个包子,发现半只蠕动的蛆,也就没心情吃下去了,所以放弃了剩下的单个包子。 

  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值