美文网首页
第五章:流程控制

第五章:流程控制

作者: 天刀笑剑钝 | 来源:发表于2018-08-29 22:55 被阅读0次

    """

    第五章:流程控制

    所谓的流程控制就是程序执行的过程

    三种结果:

    顺序执行:按部就班

    选择:根据条件不同执行不同的代码段

    循环:体现的是重复性的执行一件事

    """

    # 缩进:python使用每行前面的空白(缩进)来决定当前代码的层次。

    """

    同一个层次的语句必须要有相同的缩进

    通常情况下使用四个空格(tabs)来表示一个缩进层次

    """

    # 一、选择判断

    # 背景,有的时候希望程序是根据条件来按照不同的条件执行不同的代码,而不是按部就班的一行

    #       一行执行。

    # 所有的关键字

    import keyword

    print(keyword.kwlist)

    # 1. if条件:当if条件成立的时候,会执行的代码段

    """

    语法结构

    if 条件(布尔类型):

        当条件返回True,会执行的代码段

        当条件返回True,会执行的代码段

        当条件返回True,会执行的代码段

        ....

    else:(else的后面没有条件)   

        当if条件返回False,会执行的代码段

        当if条件返回False,会执行的代码段

        当if条件返回False,会执行的代码段

    其他代码段

    用法注意:

    (1)if可以单独存在,但是else不可以

    (2)if后面有条件,else后面没有条件

    """

    a=101

    if a<=100:

        print("我现在很瘦")

        print("我可以继续胡吃海塞")

    else:

        print("我不能吃饭了")

        print("还得去减肥")

    print("其他的代码段")

    # 练习:

    # 1. 输入一个成绩,如果>=60就输出及格了,否则输出:这次得交挂科费了,回家还不能吃饭。

    # score=int(input("请输入你的成绩"))

    # if score>=60:

    #     print("及格了")

    # else:

    #     print("交挂科费")

    #     print("回家不能吃饭")

    # 2.根据今天是星期几(1-7),输入星期几,输出要做的事情:

    # 周一-周五 上课

    # 周六      自习

    # 周日      休息

    # day=int(input("请输入星期几:"))

    # if day==6:

    #     print("自习")

    # if day==7:

    #     print("休息")

    # if 1<=day<=5:

    #     print("上课")

    #问题:

    # 1. 效率,当条件符合了一个if之后,还会走其他的if条件

    # 2. 如果输入的8

    # 解决:

    # 1.使用嵌套if来解决多次执行if问题

    # 2.将概率大的放在前面

    # 小知识:debug

    # 1. 设置断点:当使用debug模式执行的时候,代码就会停止在断点的位置

    # 2. F8键,会使程序一行 一行执行

    # 3. F9键,能够使得程序走完(走到下一个断点)

    # 4. 鼠标悬停在变量的位置,会显示变量值

    """

    if 布尔条件:

       if 布尔条件:

          语句体

       else:

          语句体

    else:

       if 布尔条件:

          语句体

       else:

          语句体

    """

    # day=int(input("请输入星期几:"))

    # if 5>=day>=1:

    #     print("上课")

    # else:

    #     if day==6:

    #         print("自习")

    #     else:

    #         if day==7:

    #             print("休息")

    #         else:

    #             print("输入错误")

    # 3. 输入一个工资,如果工资<=5000,输出我很穷;

    # 如果<=10000,输出可以温饱;如果<=20000,输出我是土豪

    # salary=int(input("请输入一个工资:"))

    # if salary<=5000:

    #     print("我很穷")

    # else:

    #     if salary<=10000:

    #         print("可以温饱")

    #     else:

    #         if salary<=20000:

    #             print("我是土豪")

    # if salary<=5000:

    #     print("我很穷")

    # else:

    #     if 10000<=salary<=20000:

    #         print("我是土豪")

    #     else:

    #         print("可以温饱")

    """

    二、循环

    1. for

    for 循环:依据任意序列中的子项,按其在序列中的顺序进行迭代

    """

    # 背景:

    # print("hello world")

    # print("hello world")

    # print("hello world")

    # print("hello world")

    # print("hello world")

     需要重复五次的输入,耗时耗力,可以用for循环来解决

    """

    for循环的语法

    # 变量名:是序列中的每一个元素

    迭代对象:序列(字符串、字节、列表、元组)和其他可迭代对象

    遍历:指将一个可迭代的对象每个元素都查看一遍。

    for 变量名 in 序列(字符串、字节、列表、元组)和其他可迭代对象:

       循环体

    """

    # 使用for循环输出5次hello world

    # for i in "11111":

    #     print("hello world")

    # 可迭代对象可以换成其他的,只要满足可迭代对象是五次就可以。

    # for i in "12345":

    #     print("开始:")

    #     print("hello world")

    # 将可迭代对象中的每一个元素都加1

    for i in "11111":

        # print(i,type(i))

        n=int(i)

        n+=1

        print(n)

    # 1+2+3+4+5

    s=0

    for i in "12345":

        n=int(i)

        s=s+n

    print(s)

    #1+2+3+...100

    # range(start,end,step)函数:能够产生一个列表

    # 包含start不包含end

    # step:默认1:方向是从左到右

    # print(range(1,5))  # [1,2,3,4]  python2x

    # print(list(range(1,5)))         python3x

    a=range(1,5)

    print(type(a))

    for i in a:

        print(i)

    print(list(range(1,101)))

    # 1+...+100累加和

    s=0

    for  i  in range(1,101):

        # s=s+i

        s+=i

    print(s)

    # 练习

    """

    1. 定义字符串、定义字节,使用for循环对其进行遍历,计算长度

    """

    s="hello world python"

    l=0

    for i in s:

        print(i)

        l=l+1

    print("通过for循环计算出的l={}".format(l))

    # 0 1 2 3  ... len(s)-1

    # for i in range(0,len(s)):

    for i in range(len(s)):# 简化

        print("通过索引访问每一个元素",s[i])

    # 字节的遍历是ascii

    # 通过索引访问的也是ascii

    l1=0

    b=b"helloworldpython"

    for i in b:

        l1+=1

        # print(i)

    print("通过for循环计算出的l1={}".format(l1))

    for i in range(len(b)):

        print("通过索引的方式访问字节元素",b[i])

    #2. 输出1-100以内所有的奇数 使用两种办法

    # print(list(range(1,101,2)))

    for i in range(1,101):

        if i%2!=0:

            print(i,end=" ")

    print()

    #3.输出1-100以内所有的偶数

    for i in range(1,101):

        if i%2==0:

            print(i,end=" ")

    print()

    #4.有一些列的温度数 30  50  66  99  58  20代表华氏温度

       #希望将这些温度变成摄氏温度: 摄氏温度=(华氏温度-32)/1.8

    # (1)需要将每个温度变成摄氏温度

    #(2)希望得到的结果仍然是字符串

    """

    思路:

    (1)如何将字符串处理成单个元素(温度),split(",")

     (2) 使用for循环处理每一个温度

        处理之前需要将温度转换float

    (3)+可以拼接字符串

        format也能组装字符串

    """

    s="30,50,66,99,58,20"

    print(s.split(","))

    t=s.split(",")

    a=""

    for  i in t:

        # print(i)摄氏温度=(华氏温度-32)/1.8

        x=(float(i)-32)/1.8

        # print(x)

        # a+=str(x)+","

        a+="{},".format(x)

    s=a.rstrip(",")

    print(s)

    s="1.2,1.5,1.65892......."

    # 2.循环的嵌套

    """

    语法:

    for  i  in 外循环对象:

       for j in 内循环对象:

          循环体

    外循环每执行一次,内循环都会完整的执行一轮。

    """

    #打印星星*

    # print("******")

    # print("*"*6)

    #

    # for i in  range(6):

    #     print("*",end="")

    # 需要打印10行,每行6个星星

    for j in range(10):

        for i in range(6):

            print("*", end="")

        print()

    # 写代码,通常先写内循环,再写外循环

    #3. 跳出循环

    # break:终止当前循环

    # 希望在字符中检测有没有*

    for i in "hel*djlkgdljgklgdjdkgj":

        if "*"==i:

            print("找到*")

            break

    #输入一个数,判断是不是质数

    # 质数:只能被自己和1整除

    # 判断不是质数更容易

    # num%(2...n-1) !=0 是质数

    # num%(2...n-1) ==0 不是质数 break

    import math

    num=int(input("请输入一个数"))

    tag=True

    # print(math.sqrt(7))

    for i in range(2,int(math.sqrt(num))+1):

        if num%i==0:

            print("不是质数")

            tag=False

            break

        # else:

        #     print("是质数")

    # if tag==True:

    if tag:#(简化)

        print("是质数")

    # 因式分解

    # 8=2*4

    # 8=4*2

    # 16=2*8

    # 16=4*4

    # 16=8*2

    相关文章

      网友评论

          本文标题:第五章:流程控制

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