zoukankan      html  css  js  c++  java
  • while补充,字符串和数字的内置方法

    一、while循环的补充

    while True:
        name=input('please input your name: ')
        password=input('please input your password: ')
    
        if name == 'egon' and password == '123':
            print('login successfull')
            while True:
                cmd=input('>>: ')
                if cmd == 'quit':
                    break
                print('====>',cmd)
            break
    View Code
    tag=True
    while tag:
        name=input('please input your name: ')
        password=input('please input your password: ')
    
        if name == 'egon' and password == '123':
            print('login successfull')
            while tag:
                cmd=input('>>: ')
                # if cmd == 'quit':
                #     tag=False
                #     continue
                # print('====>',cmd)
    
                if cmd == 'quit':
                    tag=False
                else:
                    print('====>',cmd)
    View Code

    while: else:的用法的

    count=0
    while count < 10:
        if count == 3:
            count+=1
            continue
        print(count)
    
        count+=1
    else: #最后执行
        print('在最后执行,并且只有在while循环没有被break打断的情况下才执行')
    View Code

    二、字符串的内置方法

    name='egon' #name=str('egon')
    print(type(name))

    优先掌握

    移除空白strip

    msg='             hello         '
    print(msg)
    print(msg.strip())
    
    msg='***hello*********'
    msg=msg.strip('*')
    print(msg)
    
    print(msg.lstrip('*'))
    print(msg.rstrip('*'))
    View Code

    注:strip只能去除最左边以及最右边的空格,去除不了中间的空格

    如:L= a a #三个空格夹着2个a

          print(L.strip())

    输出的结果是a a

    用处:我们不能控制用户的输入,为了判断方便,将无用部分剔除

    例:剔除用户误输入的空格,以免影响判断

    while True:
        name=input('user: ').strip()
        password=input('password: ').strip()
    
        if name == 'egon' and password == '123':
            print('login successfull')
    View Code

    切分split

    字符串切分后变为列表,列表不能再进行切分

    info='root:x:0:0::/root:/bin/bash'
    print(info[0]+info[1]+info[2]+info[3])
    
    user_l=info.split(':')
    print(user_l[0])
    
    msg='hello world egon say hahah'
    print(msg.split()) #默认以空格作为分隔符
    
    cmd='download|xhp.mov|3000'
    cmd_l=cmd.split('|')
    print(cmd_l[1])
    print(cmd_l[0])
    
    print(cmd.split('|',1))#后面的数字代表,切分次数,默认从左往右切分
    View Code

    用处:从字符串中切出用户命令的详细信息

    while True:
        cmd=input('>>: ').strip()
        if len(cmd) == 0:continue
        cmd_l=cmd.split()
        print('命令是:%s 命令的参数是:%s' %(cmd_l[0],cmd_l[1]))
    View Code
    
    

    切片:切出子字符串

    msg='hello world'
    print(msg[1:3]) #1 2
    print(msg[1:4]) #1 2 3


    长度len

    作用:算出字符串的长度(包括空格)
    print(len('hell 123'))


    索引

    作用:找出字符串中某个字符在字符串中的位置
    name='hell 123'

    print(name.index('h'))


    掌握部分
     
    oldboy_age=84
    while True:
        age=input('>>: ').strip()
        if len(age) == 0:continue
        if age.isdigit():
            age=int(age)
        else:
            print('must be int')
    
    
    
    
    
    #startswith,endswith
    name='alex_SB'
    print(name.endswith('SB'))
    print(name.startswith('alex'))
    
    
    #replace
    name='alex say :i have one tesla,my name is alex'
    print(name.replace('alex','SB',1))
    
    #format
    print('my name is %s my age is %s my sex is %s' %('egon',18,'male'))
    print('my name is {} my age is {} my sex is {}'.format('egon',18,'male'))
    print('my name is {0} my age is {1} my sex is {0}:{2}'.format('egon',18,'male'))
    print('my name is {name} my age is {age} my sex is {sex}'.format(
        sex='male',
        age=18,
        name='egon'))
    
    
    name='goee say hello'
    # print(name.find('S',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
    # print(name.index('S')) #同上,但是找不到会报错
    
    print(name.count('S',1,5)) #顾头不顾尾,如果不指定范围则查找所有
    
    
    #join
    info='root:x:0:0::/root:/bin/bash'
    print(info.split(':'))
    
    l=['root', 'x', '0', '0', '', '/root', '/bin/bash']
    print(':'.join(l))
    
    
    #lower,upper
    name='eGon'
    print(name.lower())
    print(name.upper())
    View Code
    
    


    了解部分

    #expandtabs
    name='egon	hello'
    print(name)
    print(name.expandtabs(1))
    
    
    #center,ljust,rjust,zfill
    name='egon'
    # print(name.center(30,'-'))
    print(name.ljust(30,'*'))
    print(name.rjust(30,'*'))
    print(name.zfill(50)) #用0填充
    
    
    #captalize,swapcase,title
    name='eGon'
    print(name.capitalize()) #首字母大写,其余部分小写
    print(name.swapcase()) #大小写翻转
    msg='egon say hi'
    print(msg.title()) #每个单词的首字母大写
    
    
    
    
    
    
    #在python3中
    num0='4'
    num1=b'4' #bytes
    num2=u'4' #unicode,python3中无需加u就是unicode
    num3='' #中文数字
    num4='' #罗马数字
    
    
    #isdigt:str,bytes,unicode
    print(num0.isdigit())
    print(num1.isdigit())
    print(num2.isdigit())
    print(num3.isdigit())
    print(num4.isdigit())
    
    #isdecimal:str,unicode
    num0='4'
    num1=b'4' #bytes
    num2=u'4' #unicode,python3中无需加u就是unicode
    num3='' #中文数字
    num4='' #罗马数字
    print(num0.isdecimal())
    # print(num1.)
    print(num2.isdecimal())
    print(num3.isdecimal())
    print(num4.isdecimal())
    
    #isnumeric:str,unicode,中文,罗马
    num0='4'
    num1=b'4' #bytes
    num2=u'4' #unicode,python3中无需加u就是unicode
    num3='' #中文数字
    num4='' #罗马数字
    
    print(num0.isnumeric())
    # print(num1)
    print(num2.isnumeric())
    print(num3.isnumeric())
    print(num4.isnumeric())
    
    
    
    
    #is其他
    name='egon123'
    print(name.isalnum()) #字符串由字母和数字组成
    name='asdfasdfa sdf'
    print(name.isalpha()) #字符串只由字母组成
    #
    
    name='asdfor123'
    print(name.isidentifier())
    name='egGon'
    print(name.islower())
    print(name.isupper())
    print(name.isspace())
    name='Egon say'
    print(name.istitle())
    View Code

    判断用户输入的是否为整型数字,如果是,则转换成整型
    oldboy_age=84
    while True:
    age=input('>>: ').strip()
    if len(age) == 0:continue
    if age.isdigit():
    age=int(age)
    else:
    print('must be int')

    字符串格式化方法
    print('my name is {name} my age is {age} my sex is {sex}'.format(
    sex='male',
    age=18,
    name='egon'))

    三、数字的内置方法

    =====>part1:数字类型
    掌握:int,float
    了解:Long(在python2中才有),complex

    num=10
    num=int(10)
    print(type(num),num)

    salary=12.5
    salary=float(12.5)
    print(type(salary),salary)




    进制转换(了解部分)
    二进制:0 1
    1010101
    res=1*(2**6)+1*(2**4)+1*(2**2)+1*1
    print(res)

    bin(11) #十进制的11转成二进制

    八进制:0-7
    print(oct(11))#十进制的11转成八进制


    十六进制:0-9 a-f
    print(hex(11))
    print(hex(16))



    复数
    x=1-2j
    print(x.real)
    print(x.imag)

  • 相关阅读:
    [dll注入实现IAT勾取] 计算器显示中文
    [记事本API Hook] 调试器 勾取 WriteFile()Api
    [DLL注入的方法]进程创建期修改PE输入表法
    [DLL注入的方法]静态修改PE输入表法
    [1]编程实现加载驱动
    [保护模式]测试一致代码段
    [保护模式]联系1 三环访问高2G
    15.[保护模式]TSS任务门
    ERP中HR模块的操作与设计--开源软件诞生26
    ERP的主数据的操作与设计--开源软件诞生25
  • 原文地址:https://www.cnblogs.com/huchong/p/7207476.html
Copyright © 2011-2022 走看看