zoukankan      html  css  js  c++  java
  • python基础学习day3

    字符串的操作

    首字母大写 .capitalize()
    全大写 .upper()
    全小写 .lower()
    大小写反转 .swapcase()
    单词首字母大写 .s.title() 必须隔开(数字或者特殊字符)
    空白填充 .center(width,'隔开字符')
    -------------公共方法---------------
    列表、元祖、集合、字典 都可以通用的方法

    len(字符串) 查看长度


    title 分割出来的文本首字母大写
    startswith() 判断一个字符串以什么开头
    find() 寻找一个元素 (找到返回下标,找不到返回-1)
    index() 寻找一个元素(找到返回下标,找不到报错!)
    strip('元素') 删元素(默认删除前后空格、)
    lstrip('元素') 从左边删元素
    rstrip('元素') 从右边删元素
    count('元素') 数字符串中元素的个数
    split('元素') 分割文本(默认空格)返回列表

    format() 按照位置依次填写,占位符里面的内容,格式化输出
    字符串里面用{0}占位

    方法1

    {}{}{}%s%s%s
    format(name,age,hobby)

    方法2

    {name}{age}{hobby}format(name = , age = ,hobby = ,)

    方法3

    {0}{1}{2}
    format(name,age,hobby)
    replace('旧文本','新文本','次数') 替换文本

    .isalnum() 判断字符串由字母或数字组成
    .isalpha() 字符串只由字母组成
    .isdigit() 字符串只由数字组成

    for i in s: #有限循环
    print(i)

     基础数据类型

    2.1数字int。

    数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:

    #bit_length() 当十进制用二进制表示时,最少使用的位数
    v = 11
    data = v.bit_length()
    print(data)


    2.2布尔值bool。

    布尔值就两种:True,False。就是反应条件的正确与否。

    真 1 True。

    假 0 False。

    2.3字符串str。

    2.3.1、字符串的索引与切片。

    索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。

    a = 'ABCDEFGHIJK'
    print(a[0])
    print(a[3])
    print(a[5])
    print(a[7])
    切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。

    复制代码
    a = 'ABCDEFGHIJK'
    print(a[0:3])
    print(a[2:5])
    print(a[0:]) #默认到最后
    print(a[0:-1]) #-1就是最后一个
    print(a[0:5:2]) #加步长
    print(a[5:0:-2]) #反向加步长
    复制代码
    2.3.2、字符串常用方法。

    View Code

    2.4元祖tupe。

    元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")

    2.5列表list。

    列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

    li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]

    列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

    作业name = " aleX leNb "

    # 1)移除 name 变量对应的值两边的空格,并输出处理结果
    print(name.strip())
    name = "aleX leNb"
    # 2)移除name变量左边的’al’并输出处理结果
    print(name.lstrip('al'))
    # 3)移除name变量右面的’Nb’,并输出处理结果
    print(name.rstrip('Nb'))
    # 4)移除name变量开头的a’与最后的’b’,并输出处理结果
    print(name.strip('ab'))
    # 5)判断 name 变量是否以 "al" 开头,并输出结果
    print(name.startswith('al'))
    # 6)判断name变量是否以”Nb”结尾,并输出结果
    print(name.endswith('Nb'))
    # 7)将 name 变量对应的值中的 所有的“l” 替换为 “p”,并输出结果
    print(name.replace('l','p'))
    # 8)将name变量对应的值中的第一个’l’替换成’p’,并输出结果
    print(name.replace('l','p',1))
    # 9)将 name 变量对应的值根据 所有的“l” 分割,并输出结果。
    print(name.split('l'))
    # 10)将name变量对应的值根据第一个’l’分割,并输出结果。
    print(name.split('l',1))
    # 11)将 name 变量对应的值变大写,并输出结果
    print(name.upper())
    # 12)将 name 变量对应的值变小写,并输出结果
    print(name.lower())
    # 13)将name变量对应的值首字母’a’大写,并输出结果
    print(name.capitalize())
    # 14)判断name变量对应的值字母’l’出现几次,并输出结果
    print(name.count('l'))
    # 15)如果判断name变量对应的值前四位’l’出现几次,并输出结果
    print(name.count('l',0,5))
    # 16)从name变量对应的值中找到’N’对应的索引(如果找不到则报错),并输出结果
    print(name.index('N'))
    # 17)从name变量对应的值中找到’N’对应的索引(如果找不到则返回-1)输出结果
    print(name.find('N'))
    # 18)从name变量对应的值中找到’X le’对应的索引,并输出结果
    print(name.find('X le'))
    # 19)请输出 name 变量对应的值的第 2 个字符?
    print(name[2])
    # 20)请输出 name 变量对应的值的前 3 个字符?
    print(name[0:3])
    # 21)请输出 name 变量对应的值的后 2 个字符?
    print(name[7::1])
    # 22)请输出 name 变量对应的值中 “e” 所在索引位置?
    print(name.index('e'))
    # 23)获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
    print(''.center(30,'-'))
    方法1、
    i = 0
    name = "aleX leNb"
    name1 = name[0:-1]
    print(name1)

    print(''.center(30,'-'))
    方法2、
    str1 = ''
    while i < len(name)-1:
    str1 = str1 + name[i]
    i += 1
    print(str1)

    print(''.center(30,'-'))
    方法3、
    str1 = ''
    for i in name:
    if i == name[-1]:
    break
    else:
    str1 = str1+i
    print(str1)

    print(''.center(30,'-'))
    # 2,有字符串s = ‘132a4b5c’
    # 1)通过对li列表的切片形成新的字符串s1,s1 = ‘123’
    s = '132a4b5c'
    s1 = s[s.index('1')] + s[s.index('2')] + s[s.index('3')]
    print(s1)
    # 2)通过对li列表的切片形成新的字符串s2,s2 = ‘a4b’
    s2 =s[3:6]
    print(s2)
    # 3)通过对li列表的切片形成新的字符串s3,s3 = ‘1245’
    s3 = s[s.index('1')] + s[s.index('2')] + s[s.index('4')] + s[s.index('5')]
    print(s3)
    # 4)通过对li列表的切片形成字符串s4,s4 = ‘3ab’
    s4 = s[s.index('3')] + s[s.index('a')] + s[s.index('b')]
    print(s4)
    # 5)通过对li列表的切片形成字符串s5,s5 = ‘c’
    s5 = s[-1]
    print(s5)
    # 6)通过对li列表的切片形成字符串s6,s6 = ‘ba3’

    s6 = s[s.index('b')] + s[s.index('a')] + s[s.index('3')]
    print(s6)

    print(''.center(30,'-'))


    # 3,使用while和for循环分别打印字符串s=’asdfer’中每个元素。
    a = 'asdfer'
    for i in a:
    print(i)
    i = 0
    print(''.center(30,'-'))
    while i < len(a):
    print(a[i])
    i += 1


    # 4,实现一个整数加法计算器:
    # 如:content = input(‘请输入内容:’) # 如用户输入:5+9或5+ 9或5 +

    content = input('请输入内容:')
    count = content.split('+')
    print(int(count[0]) + int(count[1]))


    # 5,计算用户输入的内容中有几个整数。
    # 如:content = input(‘请输入内容:’) # 如fhdal234slfh98769fjdla

    content1 = input('请输入内容:')
    i = 0
    count1 = 0
    print(content1)
    while i < len(content1):
    if content1[i].isdigit():
    count1 += 1
    i+=1
    print(count1)

    print(''.center(30,'-'))
    #大铁锤 小粉嫩问题


    min1 = '大铁锤'
    min2 = '小粉嫩'

    while 1:
    sr = input('请输入你想对我说的话')
    if sr == '滚' or sr == 'gun':
    print('你才滚呢!!!!! go out!!!')
    break
    # print(min1 in sr)
    # print(min2 in sr)
    # print((min1 in sr) or (min2 in sr))
    if (min1 in sr) or (min2 in sr):
    print('你输入的带有敏感词!')
    continue
    else:
    print(sr)
    break
  • 相关阅读:
    装饰模式
    You can't specify target table 'a' for update in FROM clause
    Spring事务知识点
    JAVA中的volatile关键字
    验证HashSet和HashMap不是线程安全
    ZYNQ7000 通过FPGA Manager加载比特流
    verilog中可综合的task使用
    verilog条件编译
    Vivado debug异常现象
    Matlab相关函数使用
  • 原文地址:https://www.cnblogs.com/yangxiaoeri/p/8059100.html
Copyright © 2011-2022 走看看