zoukankan      html  css  js  c++  java
  • python note 03 切片及对字符串操作

    1、计算 1 - 2 + 3 ... + 99 中除了88以外的数之和
    i = 1
    sum = 0
    while i < 100 :
        if i == 88 :
            i = i + 1
            continue
        if i % 2 == 1 :
            sum = sum + i
        else :
            sum = sum - i
        i = i + 1
    print(sum)

    ps : continue前要加上i = i + 1,不然把 i = i + 1 放在第一个if前

    2、计算 1 - 2 + 3 ... - 99 中除了88以外的数之和

    i = 0
    j = -1
    sum = 0
    while i < 99 :
        i = i + 1
        if i == 88 :
            continue
        else :
            j = -j
            sum = sum + i * j
    print(sum)

    ps : 注意 j = - j 放在else之后,不然会出问题

    3、用户登录(三次机会)且每次错误时显示剩余错误次数

    username = "pzw"
    password = "123456"
    i = 3
    while i > 0:
        yhm = input("请输入你的账号:")
        i -= 1
        if yhm == username:
            mm = input("请输入你的密码:")
            if mm == password:
                print("验证成功.正在登陆......")
                print('''恭喜你登陆成功!
                欢迎用户进入
                用户名 :%s
                密码   :%s
                '''%(username,password))
                break
            else:
                if i == 0:
                    print("你的机会已经没了!game over 下次见!")
                    answer = input('再试试?Y or N')
                    if answer == 'Y':
                        i = 3
                print("密码错误,请重新输入")
                print("你还有"+str(i)+"次机会")
        else:
            print("请输入正确的用户名!")
            if i == 0:
                print("你的机会已经没了!")
                answer = input('再试试?Y or N')
                if answer == 'Y':
                    i = 3
            print("你还有" + str(i) + "次机会")
    else:
        print('等等再想想吧!')

    4、i.bit_length() 输出二级制位数

    i = 100
    print(i.bit_length())
    #输出7
    '''
              bit_length
    1  0000  0001   1
    2  0000  0010   2
    3  0000  0011   2
    '''

    5、int、bool、str 转换

    #int ----> str
    i = 1
    s = str(i)
    print(s)
    #输出1
    #str ---> int
    s = '123'
    i = int(s)
    print(i)
    #输出123
    #int ----->bool 只要是0就是False 非0就是True
    i = 3
    b = bool(i)
    print(b)
    #输出True
    #str --->bool
    #s = "" -----> False
    #非空字符串都是True
    #s = "0" -----> True

    6、切片

    s = 'ABCDEFGHIJKLMN'
    s1 = s[0]
    print(s1)
    #输出为A
    s = 'ABCDEFGHIJKLMN'
    s3 = s[-1]
    print(s3)
    #输出为N
    s = 'ABCDEFGHIJKLMN'
    s4 = s[-2]
    print(s4)
    #输出为M
    #切片顾头不顾尾
    s = 'ABCDEFGHIJKLMN'
    s5 = s[0:4]
    print(s5)
    #输出ABCD
    s = 'ABCDEFGHIJKLMN'
    s6 = s[0:-1]
    print(s6)
    #输出ABCDEFGHIJKLM
    s = 'ABCDEFGHIJKLMN'
    s7 = s[:]
    s8 = s[0:]
    print(s7,s8)
    #输出ABCDEFGHIJKLMN
    #s[首:尾:步长]
    s = 'ABCDEFGHIJKLMN'
    s10 = s[0:5:2]
    print(s10)
    #输出ACE
    s = 'ABCDEFGHIJKLMN'
    s11 = s[4:0:-1]
    print(s11)
    #输出EDCB
    s = 'ABCDEFGHIJKLMN'
    s12 = s[3::-1]
    print(s12)
    #输出DCBA
    s = 'ABCDEFGHIJKLMN'
    s13 = s[3::-2]
    print(s13)
    # 输出DB
    s = 'ABCDEFGHIJKLMN'
    s14 = s[-1::-1]
    s15 = s[::-1]
    print(s14,s15)
    #输出NMLKJIHGFEDCBA

    7、对字符串的操作

    s = 'alexWUsir'
    s1 = s.capitalize() # 首字母大写
    print(s1)
    #输出Alexwusir
    s = 'alexWUsir'
    s2 = s.upper()  #全部大写
    s3 = s.lower()  #全部小写
    print(s2,s3)
    #输出ALEXWUSIR alexwusir
    s = 'alexWUsir'
    s3 = s.swapcase()   #大小写反转
    print(s3)
    #输出ALEXwuSIR
    # 每个隔开(特殊字符或者数字)的单词首字母大写
    s = 'alex*egon-wusir'
    s4 = s.title()
    print(s4)
    #输出Alex*Egon-Wusir
    #居中,空白填充
    s = 'alexWUsir'
    s5 = s.center(20,'~')
    print(s5)
    #输出~~~~~alexWUsir~~~~~~
    s = 'al	sir'   #	表示前面占八位,少几位就补几位
    s6 = s.expandtabs()
    print(s6)
    #输出al      sir
    test = "username	email	passwd
    pzw	943969386qq.com	123456
    pzw	943969386qq.com	123456
    "
    v = test.expandtabs(20)
    print(v)
    #输出
    #username            email               passwd
    #pzw                 943969386qq.com     123456
    #pzw                 943969386qq.com     123456
    s = 'alex二哥'
    l = len(s)  #表示输出此字符串长度
    print(l)
    #输出6
    s = 'alexWUsir'
    s7 =s.startswith('alex')    #看字符串是否以alex开头
    print(s7)
    #输出True
    s = 'alexWUsir'
    s8 = s.startswith('e',2,5)  #看字符串是否在第二个字符以e开头,注意顾头不顾尾原则
    print(s8)
    #输出True
    # find 通过元素找索引,找不到返回-1
    # index通过元素找索引,找不到报错
    s = 'alexWUsir'
    s8 = s.find('alex') #找出字符第一个字母所在位置
    print(s8,type(s8))
    #输出0 <class 'int'>
    s = 'alexWUsir%'
    s9 = s.strip('%')   #删除字符串中所包含的符号,如果为('')则为删除空格符
    print(s9)
    #输出为alexWUsir
    s = 'alexaa wusirl'
    s10 = s.count('al') # 查找字符出现的次数,如果没有就为0,可以指定从第几位开始。
    print(s10) # 输出1
    s = ':alex:wusir:taibai'
    l = s.split(':')    #输出以:为分隔符,冒号会变为逗号
    print(l)
    #输出['', 'alex', 'wusir', 'taibai']
    s = '来看待街坊邻居复合大师街坊法好的撒见客户'
    s11 = s.replace('街坊','老王',1)    #1表示替换一次,如果不写则全部替换
    print(s11)
    #输出来看待老王邻居复合大师街坊法好的撒见客户
    test = "qwer"
    v = test.isalnum()  #判断是否只包含字母或数字
    print(v)
    #输出True


    8、字符串实例

    一、

    s_str= 'acEQ1'
    you_input =input('请输入验证码,不区分大小写:')
    if s_str.upper() == you_input.upper():
        print('输入成功')
    else:
        print('请重新输入')

    二、

    username = input('请输入名字:').strip()
    if username =='pzw':
        print('恭喜pzw发财')

    9、format的三种玩法 格式化输出

    一、

    s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('pzw',36,'girl','pzw')
    print(s)

    二、

    name = input('请输入名字:')
    s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name,36,'girl')
    print(s)

    三、

    name = input('请输入名字:')
    s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name=name,hobby='girl')
    print(s)

    10、for循环

    s = 'fhdsklfds'
    for i in s:
        print(i)
    #打印s中全部字符

     

     
     
     
  • 相关阅读:
    使用iScroll时,input等不能输入内容的解决方法
    用jquery 写的类似微博发布的效果
    jq 中each的用法 (share)
    Android SDK 安装中组件的离线安装方法 (share)
    HTML5开发手机应用viewport的作用
    Android开发环境搭建及配置phoneGap
    flipsnap手机屏幕水平滑动框架
    解读网站PR值
    文档碎片
    解读SEO 黑帽白帽 (share)
  • 原文地址:https://www.cnblogs.com/P-Z-W/p/10479991.html
Copyright © 2011-2022 走看看