大一新生初入Python第五天

大一新生初入Python第五天

前言 : 有天没更新就是因为学这个流程控制语句 我感觉这玩意应该在前期算比较难一点的了 我尽量根据自己的理解写好一点吧

一.程序的三大执行流程

程序的三大执行流程 分别为 : 1. 顺序执行 2. 选择执行 3. 循环执行

1.顺序执行

顺序执行也就是你所编写的代码根据从上往下 从左往右的顺序进行执行 如果你中间出现了报错 就会停止运行 (这个就是正常的执行方式 , 今天重也不是他)

2. 选择执行

根据是否满足条件 来进行下一步的执行 (也就是今天我们的重头戏之一 : if语句)

3. 循环执行

如果满足条件 就将会一直循环该代码 (重头戏之二 : while 与 for 循环)

关于选择执行 与 循环执行 在我理解中都是与bool类型挂钩的 都会用布尔来进行判断

不过在进行下一步学习前 我们还得知道一个概念 ---- 缩进

4. 缩进

他相当于赋予不同代码不同的地位 谁受谁的控制 它的形式就是四个空格(相当于单击tab键)

我先聚一个if的例子把吧

age = 18
if age >= 18:
	print("恭喜你,你已经成年啦") #主语print前面是有缩进的 所以这个print得满足if的条件才能打印出来
#但是如果没有个缩进
print("我不到你成没成年啊 我判断不了")   

好啦 我们已经知道基本的概念了 可以进行下一步的学习了

二.选择执行 (if的条件判断语句)

首先我们要知道 这个条件语句中 除了有 if(如果) 还得知道 另外两个 elif(或者) else(否则)

结构基本为 if 条件 :

​ 执行的命令 elif类似 但else可以不用条件

他又根据用了几种符号 分为 单分支 双分支 多分支结构

1. 单分支结构

首先是最简单的单分支 也就是仅仅由if构成

例 :

#还是刚刚那个例子把
age = int(input("请输入您的年龄"))
if age >= 18:       #要注意这个冒号 我老忘记 总要报错提醒我
	print("恭喜您,成年啦!")   
#当然可以有多个if后的结果
	print("再次恭喜哈")  #就会得到两句恭喜的话语了
2 . 双分支结构

也就是二选一 不是这个就是另外一个 if 与 else

例 :

#假设一个网站 只有满18岁才能进入
age = int(input("请输入您的年龄"))
if age >= 18:       
	print("欢迎进入该网站")
else:   #也要注意这里也有个冒号
    print("您还未成年喔,请成年了再来叭")
3. 多分支结构

就要我们哥们三都出场了 if else elif

看例子 :

score = int(input("这次考试我考了多少分"))
if score >= 80:
    print("这次可以买喜欢的游戏皮肤了")
elif score >= 60:
	print("还好及格了,这次就玩玩游戏放松下吧")
else:
    print("毁了,这次没及格,要挨揍了")
#当然啦你也可以有更多的elif这是没有影响的
#但要注意一个小细节 你最好不要将范围大小弄反
#比如
score = int(input("这次考试我考了多少分"))
if score >= 60:
    print("还好及格了,这次就玩玩游戏放松下吧")
elif score >= 80:
	print("这次可以买喜欢的游戏皮肤了")
else:
    print("毁了,这次没及格,要挨揍了")
#假如输入80的成绩 只会输出大于60的结果 因为它是从上往下运行的

特性 if 的条件如果只是一个值的话 那么有这个值就执行 如果这个值没有确切的值的话就不执行 (没值的情况 [ ] , ( ) , { } , None , ’ ’ )

num=[] #空列表 没值
if num:
	print(123)
else:
	print(456)
#它的输出结果就是 456  也就是不满足if

三.循环结构

循环结构顾名思义 就是循环 为了节省时间 将些事情 进行多次的运行 循环结构应运而生

它分为 while循环 for循环

1. while循环

语法结构为

while 条件:
	更新语句
    执行语句#更新语句跟执行语句应该是可以调换的没啥影响应该
例 
i = 1
while i <= 520:
	print(f"小湛要加油喔(这是第{i}遍)")
	i += 1 #也就是每循环一遍都会加一直到 520遍
#哦对了 还有著名的死循环
#来个最简单的死循环
while True:
	print("小湛")
    #哈哈哈哈哈哈他的结果     就是无限的输出小湛
2. for循环

唔 虽然都说for循环是while的升级 更加高效 某些方面确实如此 不过也不是完全是我感觉 他主要有两种用途

  1. 遍历数据

    语法 for 变量名 in 可迭代对象(字符串,列表,元组,字典,集合):
         执行语句
    比如 
    li = ["小湛" , 888 , False]
    for i in li: #一般这个变量名都默认为i
    	print(i) #它的结果就是依次输出这个列表
    """也就是小湛
       888
       False"""
    

2 . 有指定次数的循环 (他应该是不能无限循环的 能肯定也是不常用!!! 反正我不会)

语法格式 for 变量 in range(数值)  #数值就是循环的次数
     #这个括号的数值也有变式
    #比如(起点,终点)  (起点,终点,变量) 可以参考步长那一次的博客
例子 
for i in range (1,522,2):
	print(i)
    #它的价格就是1到521 中间隔着一位数 1  3   5   ...  519 521

有些时候还是用while循环更好比如有次的一个习题 关于制作一个登录系统 用for循环就根本不好写啊呜呜

写一个登录系统.判断登录的用户名和密码是否正确,可以用num来保存密码输入次数.如果密码正确就登录成功,如果错误就提醒. 密码输入超过3次就结束程序.就直接break
num = 1
username = "小湛"
password = 123
while True:
    check_user_name = input("输入用户名")
    check_pass_word = int(input("输入密码"))
    if username == check_user_name and password == check_pass_word:
        print("恭喜你,登录成功!!")
        break
    else:
        print("账户名或密码错误")
        print(f"错误次数{num}次,达到3次将进入冷静期.")
        num += 1
        if num == 4:
            print("错误次数已经达到3次,进入冷静期五分钟")
            break
3. break 与 continue

break就是停止 运行到这一步 整个运行全部停止 终止运行的意思 可以看看我上面的那个登录系统的例子

continue这里不是继续的意思 而是跳过 跳过后续的步骤 重新下一次循环

要注意这两个都是用于循环里面的 其他的话是不行滴

4.pass语句

这个也很简单 就是一个占用的意思 假如 你循环的执行语句没想好写啥 你就可以这么写 因为正常你不写执行语句是会报错的

#举个简单例子
while 1
    pass
#这样什么输出结果都没有 等到你想到了执行什么语句就可以将pass平替掉

四.嵌套

1.分支结构嵌套(也就是if语句的嵌套)

所谓嵌套就是同一个或多个语句出现多次 比如if的缩进下还有一个if

实在懒得打了就借用一下我上课的例子吧哈哈

现在你是个宫女 有个飞上枝头变凤凰的机会 你现在要在御花园里邂逅这个皇上
你去问皇上身边的太监:'皇上会不会来'(第一个判断)
如果来 我是跳舞还是唱歌(第二个判断) 吸引皇上
如果跳舞就飞黄腾达
如果唱歌就拖出去斩了
如果不来 白日梦破灭
boy=input('小李子,皇上会不会来') #str
if boy=='会':
	talk=input('那么我是唱歌还是跳舞')
		if talk=='跳舞':
			print('好美啊,封为贵妃')
		elif talk=='唱歌':
			print('好难听,拖出去斩了')
		else:
			print('请你正确输入') #else一般可以放提醒用户正确输入类的语句 不会放判断
elif boy=='不会':
	print('白日梦')
else:
	print('请你正确输入')

2. 循环嵌套

直接上例子 这个我也想不到

我想做个数字方阵长宽各为5 该怎么输出呢
形如
2 2 2 2 2 
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
for i in range(5): #range就是范围 相当于范围到五控制列
for j in range(5): #不能使用两个i 因为分不清控制行
print('2',end=' ') #end 换行属性\n改成了空格字符串 就不会换行了
print('') #print默认有换行属性 我们这里只需要他每五个2换一次行就可以了
大家可以发现 有个print的默认属性 这就其中有个叫做end的属性  它的默认是 end = \n
我们学过\n是换行转义符   想要实现不让他换行我们就需要改变这个默认的属性
就需要额外打上end " "也就是 空格 (在python中 空格也是算一个字符的)
这样就不会自动换行了 结果就不是这样的
2
2
2
2
2
2
2
2
...

结语 : ok 啊终于打完了 累死朕了 歇会歇会

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值