python小白学习笔记(02)

目录

十五、布尔类型和比较运算符

        布尔类型的字面量:

        定义变量储存布尔类型数据:

比较运算符

十六、if语句

       1、if语句的基本格式:

        2、else语句

        3、elif

        4、判断语句的嵌套

if练习

十七、while循环

        1.基本语法:

        2.while循环嵌套

补充知识:

        1.print输出不换行

       2.制表符\t 

while练习

十八、for循环

        1.基本语法:

        2.for循环嵌套:

十九、range函数

        1.功能:

        2.语法格式:

range练习:

二十、break和continue

        1.continue

        2.break


十五、布尔类型和比较运算符

        布尔类型的字面量:

        True表示真(是、肯定)

        Flase表示假(否、否定)

        定义变量储存布尔类型数据:

        变量名称 = 布尔类型字面量

        注:可以通过使用比较运算符进行比较运算得到布尔类型的结果

#如下所示:
result = 66 > 6
test = ('a' == 'b')
#result的值为真,test的值为假

比较运算符

运算符藐视实例
==判断内容是否相等,满足为True,不满足为False如a=6,b=6, 则(a == b) 为 True
!=判断内容是否不相等,满足为True,不满足为False如a=1,b=6, 则(a != b) 为 True
>判断运算符左侧内容是否大于右侧满足为True,不满足为False 如a=6,b=3, 则(a >b) 为 True 
<判断运算符左侧内容是否小于右侧满足为True,不满足为False如a=3,b=6, 则(a <b) 为 True 
>=判断运算符左侧内容是否大于等于右侧满足为True,不满足为False如a=3,b=3, 则(a >= b) 为 True
<=判断运算符左侧内容是否小于等于右侧满足为True,不满足为False如a=3,b=3, 则(a <= b) 为 True

十六、if语句

       1、if语句的基本格式:

                if 要判断的条件:

                        条件成立时,要做的事情

                if语句的注意事项:

                判断条件的结果一定要是布尔类型,True会执行if内的代码语句,False则不会执行

                不要忘记判断后的:冒号

                归属于if判断的代码语句块,需在前方填充4个空格缩进,python通过缩进判断代码块的归属关系。

num = int(input("请输入你的三连次数:"))
if num > 0 :
    print("感谢你的三连,博主会继续努力的")  #此行代码将在判断为真时输出

print("祝你心想事成")  #此行代码没有填充4个空格,不属于if判断里面的语句,不管是否为真都会执行

                     判断为真:

                        判断为假:

        2、else语句

        当if语句判断为真时才会执行,那为假时我们也要输出怎么办呢,这个时候就要用else语句了

        基本语法:

        if 条件:

                满足条件时的输出1

                满足条件时的输出2

                ...

        else:

                不满足条件时的输出1

                不满足条件时的输出2

                ...

        注:else不需要判断条件,当if的条件不满足时,else执行

                else的代码块,同样需要4个空格作为缩进

                else与if配套使用,当存在多个相同缩进的if时,else遵循就近原则,与最近那个if配对

num = int(input("请输入你的三连次数:"))
if num > 0 :
    print("感谢你的三连,博主会继续努力的")  #此行代码将在判断为真时输出
else:
    print("这次一定,好不好,555") #此行代码将在判断为假时输出

print("祝你心想事成")  #此行代码没有填充4个空格,不属于if判断里面的语句,不管是否为真都会执行

        3、elif

        基本语句:

        if条件1:

                条件1满足应做的事情

                条件1满足应做的事情

                ...

        elif条件2:

                条件2满足应做的事情

                条件2满足应做的事情

                ...

        elif条件N:

                条件N满足应做的事情

                条件N满足应做的事情

                ...

        else:

                所有条件都不满足应做的事情

                所有条件都不满足应做的事情

                ...

        注:可以完成多个条件的判断,elif可以写多个

                判断是互斥且有序的,上一个条件满足后面的就不会执行了

                可以在条件判断中,直接写input语句,节省代码量

                else也可以省略不写,效果相当于3个独立的if判断

num = int(input("请输入你的三连次数:"))
if num > 10 :
    print(f"{num}次啊!博主受宠若惊,肥肠感谢你的三连,博主会继续努力的")
elif num > 0:
    print("博主肥肠感谢你的三连,窝会继续努力的")
else:
    print("这次一定,好不好,555") #此行代码将在判断为假时输出

print("祝你心想事成")  #此行代码没有填充4个空格,不属于if判断里面的语句,不管是否为真都会执行

        4、判断语句的嵌套

        许多逻辑的判断,是嵌套的,多层次的。对于这种需求,我们可以:自由组合if elif else,完成特定需求的要求,前提是满足缩进的要求

        嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系

        基础语法格式:

        if条件1:        

                满足条件1做的事情1

                满足条件1做的事情2

                if 条件2:

                        满足条件2做的事情1

                        满足条件2做的事情2

        如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if嵌套的关键点,在于:空格缩进,通过空格缩进,来决定语句之间的:层次关系

age =20
year = 3
level = 1
if age >= 18:
    print("你是成年人")
    if age< 30:
        print("你的年龄达标了")
        if year > 2:
            print("恭喜你,年龄和入职时间都达标,可以领取礼物")
        elif level > 3:
            print("恭喜你,年龄和级别大表,可以领取礼物")
        else:
            print("不好意思,尽管年龄达标,但是入职时间和级别都不达标。")
    else:
        print("不好意思,年龄太大了")
else:
    print("不好意思,小朋友不能领取喔")

if练习

        你能看到这里了,逍 朽很高兴,希望我的文章能真的帮到你,咱们一起写道题巩固一下有关if的知识点吧!(可以将代码发到评论区,看看谁写的更好)

        猜数字小游戏:定义一个数字(1~66,随机产生),通过5次判断来猜出来数字

        要求:1.数字是电脑随机生成的 可以用random函数

                   2.有5次机会猜,通过5层嵌套判断实现,用input语句写在判断中(最少一次)

                   3.每次猜不中,会提示大了或者小了

        提示:随机函数代码如下所示

import random  # 导入 Python 内置的 random 模块,用于生成随机数

num = random.randint(1, 66)  # 使用 random 模块的 randint 方法生成一个 1 到 66 之间(包括 1 和 66)的随机整数,并将其赋值给变量 num

     解析:这道题的易错点在于

        1.获取input后没用强制类型转换成数字int(强制类型转换的内容可以看小白笔记01)

        2.用input语句写在判断中(最少一次)这个要求只能在最后的判断实现一次

import random  # 导入 Python 内置的 random 模块,用于生成随机数
num = random.randint(1, 66)  # 使用 random 模块的 randint 方法生成一个 1 到 66 之间(包括 1 和 66)的随机整数,并将其赋值给变量 num
guess_num = int(input("请输入你要猜测的数字"))
if guess_num == num :
    print("好厉害,第一次就猜中了")
else:
    if guess_num < num :
        print("你猜测的小啦")
    else:
        print("你猜测的大啦")

    guess_num = int(input("请输入你要猜测的数字"))

    if guess_num == num :
        print("恭喜,第二次就猜对啦")
    else:
        if guess_num < num :
            print("你猜测的小啦")
        else:
            print("你猜测的大啦")

        guess_num = int(input("请输入你要猜测的数字"))

        if guess_num == num:
            print("恭喜,第三次就猜对啦")
        else:
            if guess_num < num:
                print("你猜测的小啦")
            else:
                print("你猜测的大啦")

            guess_num = int(input("请输入你要猜测的数字"))

            if guess_num == num:
                print("恭喜,第四次就猜对啦")
            else:
                if guess_num < num:
                    print("你猜测的小啦")
                else:
                    print("你猜测的大啦")

                if int(input("请输入你要猜测的数字")) == num:
                    print("恭喜,第五次就猜对啦")
                else:
                    print(f"很遗憾,数字为{num},你没有猜对")

十七、while循环

        1.基本语法:

        while 条件:

                条件满足时,做的事情1

                条件满足时,做的事情2

                条件满足时,做的事情3

                ···(省略)···

        注:条件需提供布尔类型结果,True继续,False停止

                空格缩进不能忘

                请规划好循环终止条件,否则将无限循环

i = 0
while i < 100:
    print("坤,你太梅")
    i+=1        # 没有这行代码,程序会一直输出“坤,你太梅”
    # 注意:python里面没有i++这个写法

if练习再强化: 

        还记得if里面的练习么,在学习了while中,我们已经可以实现无限次数的猜数字了,一起来试试吧!(代码可以发至评论区喔)

        设置一个范围1-66的随机整数变量, 通过while循环,配合input语句,判断输入的数字是否等于随机数

        无限次机会,直到猜中为止

        每一次猜不中,会提示大了或小了

        猜完数字后,提示猜了几次

        提示:

        条件无限次机会,终止条件不适合用数字累加来判断

        可以考虑布尔类型本身(True or False)

        猜中数字需要提示几次猜中,就需要提供数字累加功能

import random  # 导入 Python 内置的 random 模块,用于生成随机数
num = random.randint(1, 66)  # 使用 random 模块的 randint 方法生成一个 1 到 66 之间(包括 1 和 66)的随机整数,并将其赋值给变量 num
outcome = True
frequency = 0
while outcome :
    guess_num = int(input("请输入你要猜的数字"))
    if guess_num == num :
        print(f"恭喜你第猜对了,一共用了{frequency+1}次")
        outcome = False
    else:
        if guess_num > num :
            print("你猜的大啦")
        else:
            print("你猜的小啦")
        frequency = frequency + 1

        2.while循环嵌套

        基础语法:

        while 条件1:

                条件1满足时,做的事情1

                条件1满足时,做的事情2

                条件1满足时,做的事情3

                ...(省略)...

                while条件2:

                        条件2满足时,做的事情1

                        条件2满足时,做的事情2

                        条件2满足时,做的事情3

                        ... (省略) ...

             注意:注意条件的控制,避免无限循环

                        多层嵌套,与判断语句一致,主要基于空格缩进来确定层次关系

a = 0
while a < 100:
    print(f"今天是第{a+1}天,准备成为真爱粉")
    b = 1
    while b <= 4:
        print(f"练习唱跳rap的第{b}个2.5小时")
        b +=1
    print("努力成为鸽鸽")
    a += 1
print(f"坚持到第{a/4}个2.5天,成为了黑子")

补充知识:

        1.print输出不换行

        默认print语句输出内容会自动换行,如果我们需要不换行的功能,在print语句中,加上end="即可输出不换行了 (end=''是使用的方法传参功能,后续会更新)

print("Hello", end='')
print("World", end='')

       2.制表符\t 

        在字符串中,有一个特殊符号:\t,效果等同于在键盘上按下:tab键。它可以让我们的多行字符串进行对齐。

print("Hello World")
print("itheima best")  # 使用空格无法对齐
print("Hello\tWorld")
print("itheima\tbest") # 使用\t后,可以对齐

while练习

        通过补充的知识,我们完成上述的要求吧!

i = 1  # 初始化变量 i 为 1
while i < 10 :  # 当 i 小于 10 时,执行循环
    j = 1  # 每次进入内层循环前,初始化变量 j 为 1
    while j <= i :  # 当 j 小于等于 i 时,执行内层循环
        print(f"{j} * {i} = {j*i}\t",end='')  # 打印乘法表达式及结果,并使用制表符分隔,且不换行
        j += 1  # j 自增 1
    print()  # 换行
    i += 1  # i 自增 1

解释:内层循环要j <= i 的原因是要内层循环输出时能逐行添加

十八、for循环

        除了while循环语句外,Python同样提供了for循环语句。

        两者能完成的功能基本差不多,但仍有一些区别:

        while循环的循环条件是自定义的,自行控制循环条件

        for循环是一种”轮询”机制,是对一批内容进行”逐个处理

        1.基本语法:

                for 临时变量 in 待处理数据集:

                        循环满足条件时执行的代码

#定义字符串name
name = "ikun"
#for循环处理字符串
for x in name:
    print(x)

        for循环是将字符串的内容:依次取出所以,for循环也被称之为:遍历循环

        语法中的:待处理数据集,严格来说,称之为:序列类型序列类型指,其内容可以一个个依次取出的一种类型,包括:字符串,列表,元组等,本质上是遍历:序列类型

        注:同while循环不同,for循环是无法定义循环条件的。

                只能从被处理的数据集中,依次取出内容进行处理,无法定义循环条件。

                所以,理论上讲,Python的for循环无法构建无限循环(被处理的数据集不可能无限大)

                同样的循环内的语句,需要有空格缩进

                临时变量,在编程规范上,作用范围(作用域),只限定在for循环内部

                如果在for循环外部访问临时变量:

                        实际上是可以访问到的

                        在编程规范上,是不允许、不建议这么做的

                        如需访问临时变量,可以预先在循环外定义它

        2.for循环嵌套:

                for 临时变量 in 待处理数据集(序列):

                        循环满足条件应做的事情 1

                        循环满足条件应做的事情2

                        循环满足条件应做的事情N

                        ...

                        for 临时变量 in 待处理数据集(序列):

                                循环满足条件应做的事情1

                                循环满足条件应做的事情2

                                循环满足条件应做的事情N

                注意:需要注意缩进,嵌套for循环同样通过缩进确定层次关系

                           for循环和while循环可以相互嵌套使用

a = 0
for a in range(1,101):
    print(f"今天是第{a}天,准备成为真爱粉")
    for b in range(1,5):
        print(f"练习唱跳rap的第{b}个2.5小时")
    print("努力成为鸽鸽")
print(f"坚持到第{a/4}个2.5天,成为了黑子")

        还记得99乘法表么,我们也用for循环试试吧

#通过外层循环控制行数
for i in range(1,10):
    #通过内层循环控制每一行的数据
    for j in range(1,i + 1):
        #在内层循环中输出每一行的内容
          print(f"{j}*{i}={j * i}\t",end='')

    #外层循环可以通过print输出一个回车符
    print()

十九、range函数

        1.功能:

        获得一个数字序列

        2.语法格式:

                语法①:range(num)

                        获得一个从0开始,到num结束的数字序列(不含num本身)

                        如,range(5)取得的数据是:[0,1,2,3,4]

                语法②:range(num1,num2)

                        获得一个从num1开始,到num2结束的数字序列(不含num2本身)

                        如,range(5,10)取得的数据是:[5,6,7,8,9]

                语法③:range(num1,num2,step)

                        获得一个从num1开始,到num2结束的数字序列(不含num2本身)

                        数字之间的步长,以step为准(step默认为1)

                        如,range(5,10,2)取得的数据是:[5,7,9]

        range练习:

                定义一个数字变量num,内容随意,答案为100

                并使用range()语句,获取从1到num的序列,使用for循环遍历它

                在遍历的过程中,统计有多少偶数出现

                提示:

                1.序列可以使用:range(1,num)得到

                2.偶数通过if来判断,判断数字余2是否为0即可

num = 100  # 定义上限值为 100
count = 0  # 初始化偶数计数器为 0
for x in range(1, num):  # 遍历从 1 到 99 的数字
    if x % 2 == 0:  # 判断当前数字是否为偶数
        count += 1  # 如果是偶数,计数器加 1
print(f"1 到{num}(不含{num})中有{count} 个偶数")  # 输出偶数的数量

二十、break和continue

        思考:无论是while循环或是for循环,都是重复性的执行特定操作

                在这个重复的过程中,会出现一些其它情况让我们不得不:

                暂时跳过某次循环,直接进行下一次

                提前退出循环,不在继续

        对于这种场景,Python提供continue和break关键字用以对循环进行临时跳过和直接结束

        1.continue

        continue关键字用于:中断本次循环,直接进入下一次循环

        continue可以用于:for循环和while循环,效果一致

        for i in range(1, 100):

                语句1

                continue

                语句2

        上述代码:

                在循环中,遇到continue就结束当次循环,进行下一次循环

                所以,语句2是不会执行的

        应用场景:

        在循环中,因某些原因,临时结束本次循环。(通常和判断语句一起出现)

        注意:在嵌套循环中,continue只可以控制:它所在的循环结束,无法对上层循环起作用

        2.break

        break关键字用于:直接结束循环

        break可以用于:for循环和while循环,效果一致

        for i in range(1, 100):

                语句 1

                break

                语句 2

        语句 3

        上述代码:

                在循环内,遇到break就结束循环了

                所以,执行了语句1后,直接执行语句3了

        注意:break关键字同样只可以控制:它所在的循环结束,无法对上层循环起作用

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值