Python学习

作者: 逛逛_堆栈 | 来源:发表于2021-03-29 23:24 被阅读0次

    第二天

    回顾

    上次说到Python 是一种解释型语言: 意味着开发过程中不需要编译,这就类似于PHP和Perl语言。Python 还是交互式语言: 这意味着,可以在一个Python提示符,直接互动执行写程序。然后简单说了Python中的变量,今天我们来说下Python中的分支语句以及循环语句。

    分支结构

    我们在前写的代码就是简单的输入-简单处理-输出模式,而实际的业务往往有各种各样的条件判断,根据不同的条件,执行不同的代码,然后产生不同的结果,这就是我们今天要说的分支结构。

    if分支结构

    if分支结构是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。


    if分支结构
    score = eval(input("请输入筛子里面的点数"))
    if score== 6:
        print("猜对了")
    

    注意:if后面的表达式时Boolean类型的表达式(比较表达式或者逻辑表达式)或者true/false;只有当结果为true的时候才会执行对应的代码块。

    if...else分支结构

    通过上述的if分支结构,我们会有一种意犹未尽的感觉,猜对点数有结果,猜不对结果呢?这就需要我们的if...else结构了。


    if...else结构
    score = eval(input("请输入筛子里面的点数"))
    if score==99:
        print("猜对了")
    else :
        print("猜错了")
    

    多重if结构

    多重if结构
    score = eval(input("请输入Python成绩:"))
    if score >= 90:
        grade = "A"
    elif score >= 80:
        grade = "B"  
    elif score >= 70:
        grade = "C"
    elif score >= 60:
        grade = "D"
    print("输入成绩属于级别{}".format(grade))
    

    注意:最后再强调一下,分支语句的条件boolean类型的条件表达式/逻辑表达式,只有当结果为true的时候才会执行对应的代码。

    循环结构

    我们上面说了分支结构,表示条件的判断,当然还会有循环结构,在Python中的循环主要有while和for循环两种。当需要重复执行代码中的某个操作的时候,就要用到循环结构。这里大家一定要知道循环的三要素:循环条件、循环操作、条件的变化。

    while循环

    如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环,while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束。

    while 判断条件(condition):
    执行语句(statements)……
    

    同样这里的条件依然是boolean类型的表达式或者True,注意冒号和缩进。
    下面我们以猜对筛子大小为例简要说明while循环的使用:

    import random
    shaiZi = random.randint(1, 6)
    ciShu= 0
    while True:
      ciShu+= 1
      number = int(input('请输入你猜的数字: '))
      if number < shaiZi:
        print('你猜小了')
      elif number > answer:
        print('你猜大了')
      else:
        print('恭喜你猜对了!')
        break
    print('你花费了%d次猜对筛子的点数' % counter)
    

    for循环结构

    在循环应用中,假如我们已经知道了循环的次数,有没有一种比 while 结构更为简单的写法。答案当然是有,这就是 for 循环。Python中for 循环可以遍历任何序列的项目,如一个列表或者一个字符串。另外python中,for循环能做到的while循环都能做到;但是while循环能做的,for循环不一定能做到。

    语法:
    for 变量名 in 序列:
    代码块(循环体)
    

    强调一下,序列的选择可以有以下数据类型,常见的序列有:字符串,列表,字典,集合,元组,迭代器,生成器,range。
    下面我们以1-100之间既能被 3 整除,又能被 5 整除的数字之和为例。

    i = 0
    sum = 0
    for i in range(1,100):
       if(i%3 == 0 and i%5 == 0):
          sum += i
    print("1-100之间既能被 3 整除,又能被 5 整除的数字之和"+str(sum))
    

    range函数

    我们在上面既然用到了range函数,接下来我们来简单说下range函数。语法结构:range(start,stop[,step])
    start: 计数从 start 开始。默认0 开始。如 range(5)等价于 range(0,5);
    stop: 计数到 stop 结束,但不包括 stop。如range(0,5) 是[0,1,2,3, 4]没有 5
    step:步长,默认为 1。如range(0,5) 等价于 range(0, 5, 1),也可以为负数,如:-1,相当于每次减 1。如果我们要实现减法的效果,可以用 range(10,1,-1)。
    使用场景:
    a.需要产生指定范围的数字序列。
    b.单纯的控制for循环的循环次数。

    continue和break

    continue

    continue - 是一个关键字,只能写在循环体中
    功能:当循环执行过程中,遇到continue,会结束当次循环,,直接进入下次循环的判断。
    

    break

    break是一个关键字,只能用在循环体中
    功能:当循环执行过程中,遇到break,整个循环直接结束
    

    下面我们以张飞招兵来理解continue和break的区别。

     num = 1
    while(num <= 5):
        name = input("请输入请"+str(num)+"个兵的姓名")
        age = int(input("请输入请"+str(num)+"个兵的年龄"))
        if(age < 18 or age > 40):
            continue
        sex = input("请输入请"+str(num)+"个兵的性别")
        if(sex == "女"):
            continue
        print("第"+str(num)+"个兵的姓名是"+name+",年龄是"+str(age)+",性别是"+sex)
        num = num + 1
    

    接下来你再将continue换成break,体会break与continue的区别。

    num = 1
    while(num <= 5):
        name = input("请输入请"+str(num)+"个兵的姓名")
        age = int(input("请输入请"+str(num)+"个兵的年龄"))
        if(age < 18 or age > 40):
            break
        sex = input("请输入请"+str(num)+"个兵的性别")
        if(sex == "女"):
            break
        print("第"+str(num)+"个兵的姓名是"+name+",年龄是"+str(age)+",性别是"+sex)
        num = num + 1
    

    Python分支结构、循环结构就到这里了,更重要的是要学会活用分支与循环结构,自己动手实践练习,可以用一些图形输出的题锻炼自己的循环的使用,下面给出几道题。

    1、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前 20 项之和。
    2、输出显示九九乘法表、数字等腰三角形、数字菱形等
    

    如何感觉还可以,点个赞再走呗!

    相关文章

      网友评论

        本文标题:Python学习

        本文链接:https://www.haomeiwen.com/subject/bmuihltx.html