zoukankan      html  css  js  c++  java
  • python入门_老男孩_数据类型简介_int/bool/str转换_字符串索引和切片_字符串操作_day3

    关键词

    •   数据类型
    •   int, bool, str之间的相互转换
    •   字符串的索引与切片
    •   字符串的操作

    数据类型

      int  1 2 3 用于计算

      bool  True  False  用户判断

      str  'haojile'  存储少量数据  进行操作  

      list  ['xiaoming', 123]  存储大量数据

      元祖  ('haojile', 1, 23)

      dict  {'name':'xiaoming', 'age':16, 'sex':'nan'}

      集合  {1, 2, 3, 'asdf’}

    int, str, bool之间的相互转化

    # int >> str
    i = 1
    s = str(i)
    
    # str >> int
    i = int(str)
    
    # int >> bool 
    # 只要是0, False,其他为True
    b = bool(i)
    print(b)
    
    # 后者效率高
    while True:
        pass
    while 1:
        pass
    
    # str >> bool
    # 非空字符串都是True
    s
    if s:
        print('你输入的为空,请重新输入')
    else:
        pass

    字符串的索引和切片

    # 字符串的索引与切片
    s = 'hello,world'
    
    # 索引
    print(s[0])
    print(s[2])
    print(s[-1])
    print(s[-2])
    
    #切片 
    print(s[0:5])       #hello
    print(s[:])    
    print(s[0:0])
    print(s[0:5:2]    #[start,end,step]
    
    print(s[4:0:-1]) # olle
    print(s[4::-1]) # olleh
    print(s[4::-2]) # olh
    print(s[-1::-1]) # dlrow,olleh
    print(s[::-1])

    字符串的操作

      1 # 字符串的操作
      2 s = 'forDIGNITY'
      3 
      4 s1 = s.capitalize()    # 首字母大写
      5 s2 = s.upper()    # 全部大写
      6 s3 = s.lower()    # 全部小写
      7 print(s1, s2, s3)
      8 
      9 # 验证码是否正确,不区分大小写, 三次机会
     10 # verifyCode = 'ABcd'
     11 # i = 0
     12 # while i < 3:
     13 #     temp =  input('请输入验证码: ')
     14 #     if temp.upper() == verifyCode.upper():
     15 #         print('输出正确')
     16 #     else:
     17 #         print('请重新输入')
     18 #     i += 1
     19 
     20 # 大小写翻转
     21 s4 = s.swapcase()
     22 print(s4)
     23 
     24 # 每个隔开(特殊字符或者数字)的单词字母大写
     25 s = 'hello world3i am%larry'
     26 s5 = s.title()
     27 
     28 # 居中, 空白填充
     29 s = 'guess'
     30 s6 = s.center(8)
     31 s7 = s.center(20, '#')
     32 
     33 # 	 = 8 - 之前字符
     34 s = 'gue	ss'   
     35 s8 = s.expandtabs()
     36 
     37 # 计算长度,汉字算作一
     38 s = 'hello小明'
     39 s9 = len(s)
     40 print(s4, s5, s6, s7, s8, s9)
     41 
     42 # 是否以特定字母开头或结尾
     43 s = 'freedom the best'
     44 s10 = s.startswith('free')
     45 
     46 if s10:
     47     pass
     48 
     49 s11 = s.startswith('d', 4,6)
     50 print(s10, s11)
     51 
     52 # find通过元素找索引,找不到返回-1
     53 # index通过元素着索引,找不到报错
     54 s12 = s.find('e')
     55 s13 = s.index('e')
     56 print(s12, type(s13))
     57 
     58 # strip默认删除前后空格
     59 # 指定字符,从前后删除,删完即停
     60 s = '   &love&story%    '
     61 s14 = s.strip()
     62 s15 = s14.strip('&%')
     63 print(s12, s13, s14, s15)
     64 
     65 # strip情景案例
     66 # 有时候会习惯性键入空格,导致出错,strip贴心守护
     67 username = input('请输入名字:').strip()
     68 if username == 'xiaoming':
     69     print('you got it!')
     70 
     71 # 删除左边空格
     72 s17 = s.lstrip()
     73 
     74 # 删除右边空格
     75 s18 = s.rstrip()
     76 
     77 # 计算元素或者切片出现的次数
     78 s = 'nothing is perferct'
     79 s19 = s.count('no')
     80 s20 = s.count('e')
     81 print(s19, s20)
     82 
     83 # str -- list
     84 s = ';harry;potter;glory'
     85 s21 = s.split(';')
     86 print(s21)
     87 
     88 # format的三种方法,格式化输出
     89 s = '我是{},年龄{},性别{}, 再说一次我叫{}'.format('xiaoming', 18, 'nan', 'xiaoming')
     90 print(s)
     91 
     92 s = '我是{0},年龄{1},性别{2},再说一次我叫{3}'.format('xiaoming', 18, 'nan')
     93 print(s)
     94 
     95 s = '我是{name},年龄{age},性别{sex}, 再说一次我叫{name}'.format(name ='xiaoming', sex='nan', age=18)
     96 print(s)
     97 
     98 # 替换
     99 s = '哦啊哥好饿好皇宫护卫哦佛好饿好我'
    100 s22 = s.replace('好饿','明显')
    101 s23 = s.replace('好饿','明显', 1)
    102 print(s22, s23)
    103 
    104 # for
    105 s = 'haojile'
    106 for i in s:
    107     print(i)
    108 
    109 # 敏感词汇查找
    110 s = 'fs苍井空hhaha'
    111 if '苍井空' in s:
    112     print('您的评论里有敏感词汇..')

    习题

    字符串的切片

    # 字符串的切片
    s = '132a4b5c'
    
    # 132
    print(s[0:3])
    
    # a4b
    print(s[3:6])
    
    # 1245
    print(s[0:7:2])
    
    # 3ab
    print(s[1:6:2])
    
    # c
    print(s[-1])
    
    # ba3
    print(s[5:0:-2])
    View Code

    字符串的操作

    # 在变量name = "  aleX laNb " 完成如下操作
    name = "  aleX laNb "
    
    # 移除name变量中的空格,并输出处理结果
    n1 = name.strip()
    print(n1)
    
    # 移除n1中的al,并输出
    n2 = n1[2:]
    print(n2)
    
    # 移除n1中的Nb,并输出
    n3 = n1[:-2]
    print(n3)
    
    # 移除n1开头的a和结尾的b,并输入
    n4 = n1[1:-1]
    print(n4)
    
    # 判断n1是否是以al开头
    n5 = n1.startswith('al')
    print(n5)
    
    # 判断n1是否以Nb结尾
    n6 = n1.endswith('Nb')
    print(n6)
    
    # 将n1中所有的l都替换成p,并输出
    n7 = n1.replace('l', 'p')
    print(n7)
    
    # 将n1中的第一个l替换成p,并输出
    n8 = n1.replace('l', 'p', 1)
    print(n8)
    
    # 将n1中的值根据所有的l分割,并输出
    n9 = n1.split('l')
    print(n9)
    
    # 将n1中的值根据第一个l分割,并输出
    n10 = n1.split('l', 1)
    print(n10)
    
    # 将n1中对应的值大写,并输出
    n11 = n1.upper()
    print(n11)
    
    # 将n1中对应的值小写,并输出
    n12 = n1.lower()
    print(n12)
    
    # 将n1中对应的值首字母a大写,并输出
    n13 = n1.title()
    print(n13)
    
    # 判断n1中对应字幕l出现几次,并输出
    n14 = n1.count('l')
    print(n14)
    
    # 如果判断n1中前四位l出现几次,并输出
    n15 = n1.count('l', 4)
    print(n15)
    
    # 找到N对应的索引,如果找不到则报错,并输出
    n16 = n1.index('N')
    print(n16)
    
    # 找到x对应的索引,如果找不到则返回-1,并输出
    n17 = n1.find('x')
    print(n17)
    
    # 找到X le对应的索引,并输出结果
    n18 = n1.find('X la')
    print(n18)
    
    # 反转
    n19 = n1.reverse()
    print(n19)
     
    # 大小写反转
    n20 = n1.swapcase()
    print(n20)
    View Code

    for & while 遍历字符串中的元素

    # 使用while和for循环分别打印字符串s='asdfer'中的每个元素
    
    s = 'asdfer'
    
    # for
    for i in s:
        print(i)
    
    # while
    i = 0
    while i < len(s):
        temp = s[i]
        print(temp)
        i += 1
    View Code

    加法计算器

    # 实现一个加法计算器
    # 如:content = input('请输入内容: ')
    # 如用户输入: 5+9  5+ 9  5 + 9
    # 先进行分割在加和计算
    
    content = input('>>>').strip().split('+')
    
    sum = 0
    for i in content:
        sum += int(i)
    print(sum)
    View Code

    求出字符串中整数的个数

    # 计算用户输入的内容有几个整数
    # 如:content = input('请输入内容: ') 
    # 如 fsssae3fh890
    
    j = 0
    content = input('请输入内容: ').strip()
    
    for i in content:
        if i.isdigit():
            j += 1 
    print(j)
    
    # while
    k = 0
    count = 0
    content = input('请输入内容: ').strip()
    
    while k < len(content):
        if content[k].isdigit():
            count += 1
        k += 1
    print(count)
    View Code
  • 相关阅读:
    POI处理Excel工具类
    Mac打开隐藏文件夹
    markdown语法
    U盘分区合并
    数组
    Java插入到mysql数据库显示问号?
    使用vmware打开别人提供好的vmx没反应怎么办?
    求长方形的外接圆
    读取mysql数据库
    excel对列的常用操作
  • 原文地址:https://www.cnblogs.com/dignity/p/9733431.html
Copyright © 2011-2022 走看看