zoukankan      html  css  js  c++  java
  • python基本数据类型

    数据 int ,所有的功能,都放在int里

    1:将字符串转换为数据   

    a = "123"
    print(type(a),a)
    print(a)
    b=int(a)   #默认转换到十进制
    print(type(b),b)
    print(b)
    
    num = "a"
    v = int(num,base=16)    #base表示转换为16进制
    print(v)

    2:bit-length   当前数据的二进制,至少用n位表示

      r=age.bit.length()

    字符换类型

     字符串变形,在pyChram中输入str, 按住Ctrl点击str可以查看str class的具体内容

    capitalize()    首字母大写
    casefold()      所有字母变小写,比lower()更牛逼,支持特殊字符变小写
    lower()       所有字母变小写,只支持英文
    upper()       所有字母变大写
    count()       去字符串中寻找,寻找子序列的出现次数,可以设置开始与结束位置
    center()     设置宽度,并将内容居中
    endswith()      判断以什么结尾
    startswith()    判断以什么开始
    find()        从开始往后找,找到第一个之后,获取其位置,可设置开始与结束位置,若返回结果为-1表示没有找到
    format()       格式化,将一个字符串中的占位符替换为指定的值
    format_map()    格式化,传入的值为key value格式{“nane”:“yang”,“age”:“18”}
    index()       作用跟find一样,不同点为index()找不到程序直接报错
    isalnum()      判断字符串中是否只包含字母和数字
    #首字母大写
    test = "aLex"
    v = test.capitalize()
    print(v)
    #所有变小写
    v1 = test.casefold()     #更牛逼,很多的未知的对应关系变小写
    print(v1)
    v2=test.lower()
    print(v2)
    #center()设置宽度,并将内容居中
    test="alex"
    v=test.center(20,"*")  #20代指总宽度,*空白位置填充(一个字符,可有可无)
    print(v)
    
    #count() 在字符串中寻找子序列出现的次数,
    test1="albealexc"
    a = test1.count("a",1,5)    #1 ,5表示寻找的开始位置与结束位置
    print(a)
    
    #endswith() 以什么结尾,
    test2 = "alex"
    b = test2.endswith("x")      #startswith() 以什么开始
    print(b)
    #center()设置宽度,并将内容居中
    test="alex"
    v=test.center(20,"*")  #20代指总宽度,*空白位置填充(一个字符,可有可无)
    print(v)
    
    #count() 在字符串中寻找子序列出现的次数,
    test1="albealexc"
    a = test1.count("a",1,5)    #1 ,5表示寻找的开始位置与结束位置
    print(a)
    
    #endswith() 以什么结尾,
    test2 = "alex"
    b = test2.endswith("x")      #startswith() 以什么开始
    print(b)
    
    # 从开始往后找,找到第一个之后,获取其位置
    test3="alexleiao"
    c =  test3.find("x",0,8)   #在0<=x<=8之间查找.-1表示没找到
    print(c)
    # index()找不到直接报错
    test3="alexleiao"
    c =  test3.index("a",0,8)   #在0<=x<=8之间查找
    print(c)
    
    #格式化,将字符串中的占位符替换为指定的值
    test4="I am {name},age {a}"
    print(test4)
    v = test4.format(name="alex",a=18)  #v = test4.format("alex",18)
    #v = test4.format.map({"name":"alex","a":18})
    print(v)
    
    #判断字符串是否只包含字母和数据
    test5="usfe980_"
    m=test5.isalnum()
    print(m)

     expandtabs()    制表

     isalpha()      判断是否全为字母

     isdecimal()       判断当前字符串是否全为数字

     isdigit()       判断当前字符串是否全为数字

    #expandtabs() 断句20
    a = "username	password	mail
    yangyl	123	yang@q.com
    yangyl	123	yang@q.com
    yangyl	123	yang@q.com"
    v = a.expandtabs(20)
    print(v)
    
    
    ########结果
    username            password            mail
    yangyl              123                 yang@q.com
    yangyl              123                 yang@q.com
    yangyl              123                 yang@q.com  
    #当前输入是否是数字
    test = "123"
    v1=test.isdecimal()
    v2=test.isdigit()      
    v3=test.isnumeric()    #支持中文的数字:二
    print(v1,v2)  # 输入是布尔型

    重要的变换:

      join()    将字符串中的每一个元素按照指定分隔符进行拼接

      split()    分割, 不包含分割的元素

      partition()   分割,包含分割的元素,只分割为三部分

      find()    查找,到不到返回-1

      strip()    去除,

      upper()、

      lower()

    #join()的使用方法,join的内部会循环此字符串
    test = "test" t="_".join(test) print(t) print结果: t_e_s_t
    #判断是否全部是大小写和转换为大小写
    test="Alex"
    v1=test.islower()
    v2=test.lower()
    print(v1,v2)
    
    v3=test.isupper()
    v4=test.upper()
    print(v3,v4)
    
    #去除左右空白,去除/t /n,也可去除指定字符(有限最多匹配)
    test=" alex "
    v1=test.lstrip()
    v4=test.lstrip("x")
    v2=test.rstrip()
    v3=test.strip()
    print(v1)
    print(v2)
    print(v3)

    次要;索引,下标,获取字符串中某一个字符

    test="alex"
    v = test[0]
    print(v)
    v1=test[0:2]    #切片,索引范围   0<=x<2 ,-1表示最后一个字符
    print(v1)
    #len()  获取当前字符串中由几个字符组成
    test="你好世界"
    
    v=len(test)
    
    print(v )
    
     ###答应结果##
    
    3    在python3中得到3,在python2.7中得到9

    #length()

    #for循环

    for 变量名 in 字符串:

      变量名

    eg:

    test = "你好中国武汉"
    for yyl in test:
        print(yyl)

    #replace()  替换

    #range()

    创建连续的数字range(100),range(1,100,5)   #5是步长

    #将文字和索引打印出来
    test = input(">>>")
    l=len(test)
    print(l)
    for m in range(l):
        print(m,test[m])

    ##########################################python基本数据类型课后作业##############################################

    1、  阅读代码,请写出执行结果
        a = "alex"
        b = a.capitalize()
        print(a)
        print(b)
        请写出输出结果
        alex
        Alex
    2、  写代码,有如下变量,请按照要求实现每个功能
      name = " aleX"
      a. 移除 name 变量对应的值两边的空格,并输入移除后的内容
    name=" AleX "
    n1=name.strip()
    print(n1)
      b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果
    n1=name.startswith("al")
    print(n1)    #结果为True
      c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果
    n1=name.endswith("X")
    print(n1)        #结果为False
      d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
    n1=name.replace("l","p")
    print(n1)
      e. 将 name 变量对应的值根据 “l” 分割,并输出结果。
    n1=name.split("l")
    print(n1)
      f. 请问,上一题 e 分割之后得到值是什么类型(可选)?
    列表类型
      g. 将 name 变量对应的值变大写,并输出结果
    n1=name.upper()
    print(n1)
      h. 将 name 变量对应的值变小写,并输出结果
    n1=name.lower()
    print(n1)
      i. 请输出 name 变量对应的值的第 2 个字符?
    n1=name[1]
    print(n1)
      j. 请输出 name 变量对应的值的前 3 个字符?
    for i in range(3):
        print(name[i])
     
      k. 请输出 name 变量对应的值的后 2 个字符?
    print(name[2:-1])
      l. 请输出 name 变量对应的值中 “e” 所在索引位置?
    n1=name.find("e")
    print(n1)
      m. 获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo
    l=len(name)
    print(name[0:(l-1)])

    3、 字符串是否可迭代对象?如可以请使用 for 循环每一个元素?

        字符串可以迭代对象(可以被for 循环的就是可迭代对象)

    name="你好中国"
    l=len(name)
    for i in range(l):
        print(i,name[i])
    4、 请用代码实现:
      a. 利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
      b. 利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain'] (可选)
    li="alexericrain"
    n1="_".join(li)
    print(n1)
    li1=['alex', 'eric', 'rain']
    n2="_".join(li1)
    print(n2)
    5、  Python2 中的 range 和 Python3 中的 range 的区别?
       对于汉字的打印个数不同
    6、  实现一个整数加法计算器:
      如:content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9
    num1=input("请输入加法数字,如5+9:")
    tmp_str=num1.split()
    tmp_str1="".join(tmp_str)
    li=tmp_str1.split("+")
    num2=li[0].isdecimal()&li[1].isdecimal()
    num6=str(num2)
    if num6 == "True":
        num3=int(li[0])
        num4=int(li[1])
        num5=num3+num4
        print(num5)
    else:
        print("请输入正确的格式!")
     
    7、  计算用户输入的内容中有几个十进制小数?几个字母?
      如:content = input('请输入内容:') # 如:asduiaf878123jkjsfd-213928
    #做题思路
    c1=0
    c2=0
    val=input(">>>")
    for itme in val:
        如果itme是数字:
            c1+=1
        如果itme是字母:
            c2+=1
    8、  制作趣味模板程序
      需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实。如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
    name=input("请输入您的姓名:")
    dir=input("请输入地址:")
    things=input("请输入您喜欢干的事情:")
    inp="敬爱可爱的{name},最喜欢在{dir}干{things}"
    n1=inp.format(name=name,dir=dir,things=things)
    print(n1)
    9、  制作随机验证码,不区分大小写。
        流程:
          - 用户执行程序
          - 给用户显示需要输入的验证码
          - 用户输入的值
        用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
        生成随机验证码代码示例:
        
    def check_code():
        import random
        checkcode=""
        for i in range(4):
            current=random.randrange(0,4)
            if current != i:
                temp=chr(random.randint(65,90))
            else:
                temp=random.randint(0,9)
            checkcode +=str(temp)
        return checkcode
    while True:
        code = check_code()
        print(code)
        inp = input("请输入验证码:")
        lower_code=code.lower()
        lower_inp=inp.lower()
        if lower_inp == lower_code:
             print("验证成功,欢迎")
             break
        else:
            print("验证码不正确,请重新输入!")
    10、  开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
        如 "苍老师" "东京热",则将内容替换为 ***
    li=["东京热","苍老师"]
    inp = input("请出入内容:")
    new_inp=inp.replace(li[0],"***")
    new_inp1=new_inp.replace(li[1],"***")
    print(new_inp1)
    11、  制作表格
        循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
        如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式大隐
     
     
     
     
  • 相关阅读:
    面试问题
    知识点整合
    前端错误
    基于.NET平台常用的框架整理
    BFC和haslayout
    javascript面向对象
    javascript变量的作用域
    2014-05-26 总结
    2014-05-23 总结
    PHP实现mvc模式的思想
  • 原文地址:https://www.cnblogs.com/Yangyl00/p/10194794.html
Copyright © 2011-2022 走看看