美文网首页
2018年6月14日【Python学习笔记】

2018年6月14日【Python学习笔记】

作者: SlashLife | 来源:发表于2018-06-15 12:05 被阅读0次

    一、for循环

    python中循环:for循环、while循环(一个操作需要重复执行多次,这个时候就考虑使用循环)

    • 格式:

      python里面的for循环只有for-in循环:
      for 变量 in 列表:
          循环体
      
    • 执行过程:使用变量去依次获取列表中的数据,直到获取完为止;每获取一个数据,执行1次循环体。

    循环次数:由列表中的数据的个数来决定

    去获取字符串中的每一个字符

      str1 = 'abcdefaaacdscd'
      for char in str1:
          print(char)
    

    去统计一个字符串中'a'出现的次数

      count = 0
      for char in str1:
          if char == 'a':
              count +=1
      print(count)
    

    二、if条件语句

    if elif else 都是关键字,需要能读能写(背)

    • 基本格式:

      if 条件语句1:
          执行语句1
      elif 条件语句2:
          执行语句块2
      else 条件语句块3 :
          执行语句块3
      其他语句
      
    • 执行过程:

      1.判断条件语句1是否为True,如果为true就执行冒号后面的执行语句块1,整个条件结果就执行完了,执行其他语句;如果是False,就去判断条件语句2是否为true
      2.如果是true就执行语句块2,在执行其他语句。如果是false,就直接执行执行语句块3,再执行其他语句。
      
    注意:冒号后边的语句块和冒号所在的语句里要保持一个缩进。
    • 1.if条件语句:

      执行语句
      判断条件语句的值是否为true,如果是true,就执行执行语句块。否者就直接执行if语句后面的其他语句

    例子:
    age=20
    要求:判断年龄是否大于18,如果大于18就输出'成年人'

      if age > 18:
          print('成年人')
    

    练习:判断一个数是否是偶数,如果是就打印'xxx是偶数'

      num =18
      if num % 2==0:
          print('%d是偶数'%(num))
    
    • 2.if-else

    if 条件语句:
    执行语句块1
    else:
    执行语句块2

    判断条件语句是否为true,如果是true,就执行执行语句块1,否则执行执行语句块2

      num=13
      if num %2 ==0:
          print('%d是偶数'%(num))
      else:
          print('%d是奇数'%(num))
    
    扩展知识:
      input():从控制台获取键盘输入的一个字符串,以回车结束。
      1.将其他的数据转换成数字
      int():将其他的数据转换成int类型数据
    
      float()  将其他的数据转换成浮点型数据
    
      bool()   将其他的数据转换成布尔值
    

    数字-->布尔:非0是true,0是false

      print(bool(12.8))
      print(bool(-12.9))
      print(bool(0.0))
    

    字符串转换成布尔:除了空串('')是false,其他都是true

      print(bool('abd'))
      print(bool(''))
    
    注意:可以在if或者while循环后的条件语句,可以不是结果为true、false的表达式,也可以是其他数据类型的表达式,判断的时候就看这个值转换成bool后的结果是true还是false
      if 'aa':
          print('aaa')
    

    判断一个字符串是否是空串,如果不是就直接打印这个字符串,否则打印空串

      str1=''
      if str1:
          print(str1)
      else:
          print('空串')
    

    或者

      if str1 !='':
          print(str1)
      else:
          print('空串')
    

    str() 将其他的数据转换成字符串。所有的数据类型的数据都可以转换成字符串

      num=12.56
      print(int(num))  #将浮点数转换成整数(直接去掉小数部分)
    
      bool1=True
      print(int(bool1))  #将布尔值转换成整数,True-->1  False-->0
    
      str1='-129'
      print(int(str1))    #只有纯数字字符串或者纯数字字符串前有+-号的才能转换成相应的整数
    
    练习:输入一个数,如果这个数大于10,就输出它的2倍值。否者输出这个数的2次幂

    比较运算符和+,在运算的时候,两边可以都是字符串,也可以都是数字。但是不可以一样一个

      inputvalue=input('请输入一个数字:')
      print(type(inputvalue))
      new_value=int(inputvalue)
      if new_value > 10:
          num=new_value*2
          print(num)
      else:
          num=new_value**2
          print(num)
    
    if -elif-elif-else

    给一个成绩,判断成绩是优秀(90-100)、良好(80-89)、中等(60-79)、不及格(60以下)

      grade = -10
      if grade < 60:
          if grade < 0:
              print('成绩有误')
          else:
              print('不及格')
      elif grade <= 79:
          print('中等')
      elif grade <=89:
          print('良好')
      elif grade <=100:
          print('优秀')
      else:
          print('成绩有误')
    
    • 总结:1.如果要求中需要多个判断,可以使用多个elif的if语句。

        2.一个if/elif/else语句中可以嵌套其他的if语句,要注意缩进问题
      

    练习:
    给年龄,判断年龄处于:婴儿(0-1岁)、儿童(2-4岁)、少年(5-12岁)、青年(13-18岁)、成年(19-40岁)、中年(41-60岁)、老年(60以上)

      age=input('请输入年龄:')
      print(type(age))
      n_age=int(age)
      if 0 <= n_age <=1:
          print('婴儿')
      elif 1 < n_age <=4:
          print('儿童')
      elif 4 < n_age <=12:
          print('少年')
      elif 12 < n_age <=18:
          print('青年')
      elif 18 < n_age <=40:
          print('中年')
      elif 40 < n_age <=60:
          print('中年')
      elif 60 < n_age:
          print('老年')
      else:
          print('输入错误')
    

    pass:占位的,防止因为没有写块结构而出现语法错误。
    说明:python中没有switch语法。

      if age:
          pass
    

    打印数字1到100

    1.range函数:可以生成一个数值范围
    常见三种用法

    用法1:range(n),生成0 ~ n-1的值
      print(range(10))
      for x in range(10):
          print(x)
    
    用法二:range(m,n),生成 m ~ n-1的数
      for x in range(2,10):
          print(x)
    
      for x in range(1,101):
          print(x)
    

    打印0-100之间所有的偶数

      for x in range(101):
          if x % 2== 0:
              print(x)
    
    用发三:range(m,n,step从m开始每step取一个数,取到n前一个数为止
      for x in range(1,100,2):
          print(x)
    

    不通过字符串相乘,打印10遍"="

    注意:如果循环中的变量取到的值没有意义,循环只是单纯的控制次数,这个时候for后面的变量名一般用"_"代替
      for _ in range(10):
          print('=',end='')
      print(" ")
    

    求1+2+3+...+100

      num=0
      for x in range(1,101):
          num=num+x  #也可以:num+=x
      print(num)
    

    求10!的阶层.n!=123.。。*10

      sum1=1
      for x in range(1,101):
          sum1=sum1*x  #也可以:sum1*=x
      print(sum1)
    

    三、while 条件语句

    • 格式:

    while 条件语句:
    循环体
    执行过程:判断条件语句的结果是否为true,如果为true就执行一次循环体。执行完循环体后再去判断条件语句是否为true,为真的话又执行循环体。重复这个过程,直到条件语句的结果为false。
    for循环可以实现的操作,while循环都可以

    打印1-100

      num=1
      while num <=100:
          print(num)
          num += 1
    

    计算1+2+3...+100

      num=0
      sum1=0
      while  num < 100:
          num+=1
          sum1 += num
      print(sum1)
    

    求1-100中所有偶数的和

      num=1
      sum1=0
      while num<101:
          if num%2==0:
              sum1+=num
          num+=1
      print(sum1)
    

    方法二:

      num=0
      sum1=0
      while num<=100:
          sum1+=num
          num+=2
      print(sum1)
    

    相关文章

      网友评论

          本文标题:2018年6月14日【Python学习笔记】

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