美文网首页
day5 分支(if)和循环结构(for和while)

day5 分支(if)和循环结构(for和while)

作者: _最美不是下雨天_ | 来源:发表于2018-12-28 20:37 被阅读0次

    一、if语句

    python中的分支结构只有if语句,没有switch语句

    1.if语句使用场景:如果做某件事情(执行某段代码)需要满足某个条件才行,就考虑使用if

    2.怎么用if

    a.语法1:

    if 条件语句:
    代码段1
    其他语句

    b.说明:

    if -关键字,是如果的意思
    条件语句 -任意一个有结果的的语句,最好是布尔值
    如果不是布尔值,则在判断时会转换为布尔值
    注意:在Python中,只要有冒号,冒号后面第一行必须有缩进。冒号缩进组合形成的代码段,相当于其他语言的大括号
    代码段1 -和if保持一个缩进的语句。也可以是一行语句,也可以是多行语句。

    c.执行过程:

    先判断条件语句结果是否为True,如果为True就执行代码段1,然后再执行后边的其他语句;如果为False,就不执行代码段1,直接执行if外边的其他语句
    注意:和if保持一个缩进的代码,都是满足if后边的条件才会执行的代码
    没有和if保持一个缩进的代码,不管条件是否满足都会执行

    name=input('请输入您的名字:')
    if name=='曾':
        print('%s是雇佣兵' % name)
    else:
        print('%s你是大哥'% name)#总结:需要满足某个条件才执行的语句就写在if里面,不管条件是否满足都需要执行的卸载if外面
    #练习:输入一个数,如果能被3整除,就打印
    num = int(input('请输入一个数:'))
    if num%3 == 0:
        print('%d是3的倍数' % num)
    else:
        print('%d不是3的倍数' % num)
    

    结构二:if-else结构

    a.语法:

    if 条件语句:
    代码段1
    else:
    代码段2

    b.说明

    else -关键字,固定写法;否则执行代码段2
    c.执行过程:
    先判断条件语句是否为True,如果为True就执行代码段1,否则执行代码段2

    练习:输入一个整数,如果这个数是偶数就打印‘xx是偶数

    num1=int(input('请输入一个数:'))
    if num1%2==0:
        print('%d是偶数'%num1)
    else:
        print('%d是奇数'%num1)
    

    练习:输入一个字符串,判断字符串的开头是否是小写字母,如果是,将字符串第一个字符转换成大写字母,并打印,否则直接打印

    str1=input('请输入一个字符串:')
    str2=str1[0]
    if str1[0] >='a' and str1[0]<= 'z':
        print(str2.upper()+str1[1:])
    elif str1[0] >='A' and str1[0]<= 'Z' :
        print(str1)
    else:
        print('您输入的第一个字符不是字母!')
    

    结构三:if-elif-else:

    a.语法:

    if 条件语句1:
    代码段1
    elif 条件语句2:
    代码段2
    elif 条件语句3:
    ...
    else:
    代码段n

    b.说明

    elif-关键字;在条件不满足的前提下,判断其他条件是否满足

    c.执行过程:

    先判断条件语句1是否成立,如果成立直接执行代码段1,然后整个if结构结束,接着执行其他语句;
    如果条件语句1不成立,再判断语句2是否成立。如果成立直接执行代码段2,然后整个if结构结束,接着执行其他语句;
    以此类推,如果条件语句都不成立,就执行else后面的代码段n
    注意:a.后边的条件语句判断实在前面条件语句不成立的前提下执行的
    b.else不是一定要写,根据后面的情况,else结构可以省略

    练习:

    print('=====================================\n欢迎您,曾!请选择:\n1.添加学生\n2.查看学习\n3.修改学生信息\n4.删除学生\n5.返回\n=====================================')
    choose=int(input('请选择:'))
    if choose==1:
        name=input('请输入姓名:')
        phone=input('请输电话:')
        age=input('请输入年龄:')
        print(name,phone,age)
    elif choose==2:
        print('曾  男 未婚 32岁 驻叙利亚雇佣兵!')
    elif choose==3:
        print('正在修改信息...')
    elif choose==4:
        print('目前正在删除学生信息')
    else:
        print('正在退出...')
        print('=====================================\n❀欢迎您,曾!请选择:\n❀1.添加学生\n❀2.查看学习\n❀3.修改学生信息\n❀4.删除学生\n❀5.返回\n=====================================')
    

    if的使用

    1.if的嵌套

    '''
    在if结果中还可以再写if结构
    输入一个数,如果这个数是偶数,打印’xx是偶数‘,同时判断它是否是4的倍数
    如果不是偶数只打印’XX是奇数‘
    '''
    num1=int(input('请输入一个整数:'))
    if num1%2==0:
    print('%d是偶数'%num1)
    if num1%4==0:
    print('%d是4的倍数'%num1)
    else:
    print('%d是偶数但是不是4的倍数'%num1)
    else:
    print('%d是奇数'%num1)

    2.三目运算符

    '''
    C/JAVA/JS语言都有一个三目运算符:表达式?值1:值2——>判断表达式的值是否为True,是为值1,否则为值2
    Python中的三目运算符:值1 if 表达式 else 值2
    :判断表达式的值是否为True,为True整个表达式的结果是指1,否则为值2
    当我们要根据某个条件是否成立,获取不同的值的时候才使用三目运算

    num2,num3=10,2
    max=num2 if num3>num2 else num3
    print(max)
    

    练习:输入一个年份,获取是否是闰年。

    year=int(input("请输入一个年份:"))
    if year % 400 == 0 or (year%4==0 and year%100!=0):
        print("这是闰年")
    else:
        print("不是闰年")
    

    '''
    python中的循环结构有两种:for循环和while循环
    当实现某个功能的时候发现某个操作需要重复执行,这个时候就考虑使用循环
    '''

    二、for循环

    a.语法:

    for 变量 in 序列
    循环体

    b.说明

    for -关键字
    变量- 一个变量名,可以是已经赋过值的变量也可以是新的变量(一般是新的变量)
    in -固定写法
    序列 -属于序列的数据:Python中的序列:字符串、列表、字典、元祖、集合、range、迭代器、生成器
    : -固定写法
    循环体 -需要重复执行的代码就放在循环体中;循环体需要和for保持一个缩进

    c.执行过程(重要!)

    让变量取序列中屈指,一个一个的取,取完为止。每取一个值,执行一次循环体
    (序列中元素的个数决定了循环体执行的次数)
    '''
    for char in range(9):
    print('雇佣兵')
    练习:给一个字符串’hosee 23jh!hs89_=sssAsK,统计这个字符串中数字字符的个数

    str1='hosee 23jh!hs89_=sssAsK'
    num2=0
    for char1 in str1:
       # if char1.isdigit()==1:
       #     num2+=1
       if '0'<=char1<='9':
           num2+=1
    print(num2)
    

    range函数

    **python3里是range,Python2是xrange
    range(N) ->产生数字序列 0N1 N必须是整数
    range(M,N) ->产生数字序列 MN1 M,N必须是整数,N>M
    range(M,N,step) ->从M开始,每次值增加step产生下一个数字,一直到N前一个位置。
    (M,N必须是整数,step>0,N>M;step<0,N<M)
    ** 练习:计算1+2+...100 **

    sum=0
    for num3 in range(1,101):
        if num3%13==0 or num3%7==0:
            sum+=num3
    print(sum)
    print(type(num3))
    #通过便利字符串下标遍历字符串
    str1='hello world!'
    for index in range(len(str1)):#index表示下标,从前往后取
        print(str1[index])
    for index in range(-1,-len(str1)-1,-1):#index表示下标,从后往前取
        print(str1[index])
    

    '''

    三.while

    a.语法

    while 条件语句:
    循环体

    b.说明

    while -关键字;当...的时候
    条件语句 -和if后边的条件要求一样(赋值语句不能作为条件语句,别的语句都行)
    : -固定写法
    循环体 -需要执行的语句卸载循环体中;循环体和while保持一个缩进

    c.执行过程

    当程序执行到while循环,就先判断条件语句是否为True,为True就执行,执行完再判断,直到条件语句为False
    for和while的选择:
    严格来说for循环可以做到的while都可以做到,while能做到的事情,for循环不一定能做到
    使用for:a.遍历序列 b.循环次数确定
    使用while:a.死循环 b.循环次数不确定

    **控制while循环的次数
    while 变量 <次数:
    需要执行的代码
    变量+=1
    '''
    练习,录入学生成绩,录入以输入'end'结束录入

    #方法一:
    while True:
        str1=input('请输入成绩:')
        if str1=='end':
            break
    # 方法二:
    grade=input('请输入成绩')
    while grade!='end':
        input('请输入成绩')
    

    练习:输入密码,直到输入的密码合理为止,至少6位

    grade=input('请输入密码')
    while len(grade)<7:
        grade=input('输入有误,请再输入密码:')
    

    '''

    四、continue

    1.continue是Python关键字,只能用在循环体中

    功能:执行到continue的时候,结束当次循环(cotinue后面的语句),直接进入下次循环的判断
    for循环就是让变量取下一个值,而while循环就是直接去判断while后边的条件是否为True

    2.break

    break是Python关键字,只能在循环体中
    功能:执行循环体的时候,遇到break循环直接结束。直接执行后面的语句
    练习:找到大于111的数字中第一个能够被17整除的数

    num=111
    while True:
      if num%17==0:
          print(num)
    #
    

    3.else

    for 变量 in 序列:
    循环体
    else:
    代码段

    while 条件语句:
    循环体
    else:
    代码段
    执行过程:循环执行过程不变,else后边代码段,如果循环是自然死亡会执行;遇到break结束就不会执行

    相关文章

      网友评论

          本文标题:day5 分支(if)和循环结构(for和while)

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