zoukankan      html  css  js  c++  java
  • for循环补充,变量和不可变量,数字类型,字符串类型,列表类型

    一、for循环补充

    1、迭代式循环:for,语法如下

    for 变量名 (可以有多个)in 值:

    for i in range(10):

        缩进的代码块

    2、for+enumerate(同while循环)

    3、for+range()用来循环多次,顾头不顾尾

    如,打印九九乘法表
    for i in range(1,10):
        for j in range(1,i+1):
            print('%s*%s=%s' %(i,j,i*j),end=' ')
        print()
    

    4、range(3.10.2)#3.5.7.9

    range(10.3.-1) #10.9.8.7.6.5.4.布值

    5、for+break结束

    6、for+else

    二,基本数据类型常用操作及内置方法

    概念:记录事物的状态

    可变类型:值改变,但是id不变,证明就是在改原值,原值是可变类型

    x = 10
    print(id(x))
    x = 11
    print(id(x))
    

    不可变类型:值改变,但是id也变,证明就是在产生值,原值是不可变类型

    l = [111,222,333]
    print(id(l))
    l[0] = 6666666
    print(id(l))
    

    三、数字类型

    1.整型 int

    1.1 、用途:记录年龄、个数、号码,等级等整数相关的

    1.2 、定义方式:

    age=18 # age=int(18)
    print(type(age))
    
    int数据类型转换: 可以把纯数字组成的字符串转成整型
    # res = int("            18               ") 
    # print(res,type(res))
    

    1.3 、常用操作+内置方法

    数学运算+比较运算

    1.4 、该类型的总结

    • 存一个值or存多个值
    • 有序or无序
    • 可变or不可变

    2.浮点型 float

    2.1、用途:记录薪资、身高、体重

    2.2、定义方式

    salary = 3.1  # salary = float(3.1)
    
    loat数据类型转换: 可以把小数组成的字符串转成浮点型
    res=float(111)
    print(res,type(res))
    
    res=float("    3.3    ")
    print(res,type(res))
    

    2.3、常用操作+内置的方法 #

    数学运算+比较运算

    2.4、该类型的总结

    • 存一个值
    • 不可变

    四、字符串类型

    4.1、作用:名字,性别,国籍,地址等描述信息

    4.2、定义:在单引号双引号三引号内,由一串字符组成。

    注意

    # 引号定义出来的都是str类型,没有区别
    #  三引号可以存放多行字符串
    # 引号的嵌套:外层双引号,内层只能用单引号
    
    数据类型转换:str可以把任意类型都转成字符串类型# res = str([1,2,3])# print(res,type(res))
    

    4.3、常用操作+内置的方法

    • 按索引取值(正向取+反向取) :只能取

      msg = "hello world"
      print(msg[0],type(msg[0]))
      print(msg[-1])
      msg[0]="H"  # 只能取不能改
      
    • 切片(顾头不顾尾,步长)

       msg = "hello world"
       res = msg[1:7] #从第一个字符读到第7个
       res = msg[1:7:2]  # 1 3 5 (el )
       print(res)
       
       res = msg[:]
       print(res)   #打印全部字符
      
      res = msg[::-1]
       print(res)   #倒过来打印
      
    • 长度 Len

      msg = "hello world"
      print(len(msg))   #显示共有几个字符
      
    • 成员运算in 和not in

      msg = "hello world"
      print("he" in msg)     #结果为True
      print("he" not in msg)  #结果为False
      
    • 移除空白strip

    msg = "    hello    "
    print(msg.strip())   #最直白的移除空白
    
    msg = "+*-he*llo***%/*" print(msg.strip("*+-/%")) 
    
    inp_name = input("username: ").strip() 
    inp_name = "egon "
    inp_pwd = input("password: ").strip()
    if inp_name == "egon" and inp_pwd == "123":
        print('ok')
     else:
     print('no')      
    
    • 切分split
    msg="egon:123:3000"
    print(msg[0:4])       # egon
    
    msg='egon:123:2000'
    res=msg.split(":",1)
    print(res)  #['egon', '123:2000']第一个切分
    
    • 循环
    for x in msg:   
    print(x)
    

    需要了解的掌握:

    #1、strip(去掉空格),lstrip(去掉左边的空格),rstrip(去掉右边的空格)
    #2、lower(字母小写),upper(字母大写)
    #3、startswith(以。。开头),endswith(以。。结尾)
    
    #4、format的三种玩法  #为某个位置传值
    es='{} {} {}'.format('egon',18,'male')
    res='{1} {0} {1}'.format('egon',18,'male')
    res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
    
    #5、split,rsplit
    name='root:x:0:0::/root:/bin/bash'
    print(name.split(':')) #默认分隔符为空格
    name='C:/a/b/c/d.txt' #只想拿到顶级目录
    print(name.split('/',1))
    
    name='a|b|c'
    print(name.rsplit('|',1)) #从右开始切分
    
    #6、join
    tag=' '
    print(tag.join(['egon','say','hello','world'])) #可迭代对象必须都是字符串
    
    #7、replace
    name='alex say :i have one tesla,my name is alex'
    print(name.replace('alex','SB',1))
    打印SB say :i have one tesla,my name is alex  #替换
    
    #8、isdigit可以判断bytes和unicode类型,是最常用的用于于判断字符是否为"数字"的方法
    age=input('>>: ')
    print(age.isdigit())
    
    

    五、列表list

    5.1、作用:多个装备,多个爱好,多门课程,多个朋友等

    5.2、定义:[]内可以有多个任意类型的值,逗号分隔

    list数据类型转换:把可迭代的类型转成列表,可以被for循环遍历的类型都是可迭代的
    

    5.3、常用操作+内置的方法

    • 按索引存取值(正向存取+反向存取):即可存也可取

      l=[111,222,333]
      print(id(l))
      l[0]=666
      print(l)
      print(id(l))
      
    l=[111,222,333]
    l[0]=666
    l[3]=777  # 列表索引不能超出范围
    l[3]  # 列表索引不能超出范围
    
    • 切片(顾头不顾尾,步长)
    l=[11,22,33,44,55,66,77,88,99]
    / res=l[1:7:2]
    / res=l[:]
    res=l[::-1]
    print(res) #[99, 88, 77, 66, 55, 44, 33, 22, 11]
    
    • 长度

      print(len(["aaa",111,2222]))
      
    • 成员运算in 和not in

      print(111 in ["aaa",111,2222])
      
    • 追加

      l=[111,222,333]
      l.append(444)
      l.append(555)
      print(l)
      
    • 插入

      l=[111,222,333]
      l.insert(1,6666)
      print(l)
      
    l=[111,222,333]
    res = l.append(444)
    res = l.insert(1,444)
    print(res)
    
    • 删除

      万能删除# del l[0]# print(l)
      
    l.remove(指定元素)
    res=l.remove(222)
    print(l)
    print(res)  #None
    
    l.pop(指定索引)
    res=l.pop(1)
    print(l)
    print(res)
    
    • 循环

      l=[111,222,333]
      for x in l:
      print(x)
      

    5.4、该类型总结:

    • 存多个值
    • 有序
    • 可变
  • 相关阅读:
    软件工程概论(课堂作业01)
    java小程序(课堂作业06)
    动手动脑(课堂作业06)
    动手动脑(课堂作业05)
    java小程序(课堂作业04)
    动手动脑(课堂作业04)
    java小程序(课堂作业03)
    动手动脑(课堂作业03)
    动手动脑(课堂作业02)
    Codeforces 178B1-B3 Greedy Merchants
  • 原文地址:https://www.cnblogs.com/caodan01/p/14175321.html
Copyright © 2011-2022 走看看