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
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)

while: else:的用法的

count=0
while count < 10:
    if count == 3:
        count+=1
        continue
    print(count)

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

二、字符串的内置方法

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('*'))

注: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')

切分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))#后面的数字代表,切分次数,默认从左往右切分

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

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

切片:切出子字符串

msg='hello world'print(msg[1:3]) #1 2print(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())

了解部分

#expandtabs
name='egon\thello'
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())
判断用户输入的是否为整型数字,如果是,则转换成整型
	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中才有),complexnum=10num=int(10)print(type(num),num)salary=12.5salary=float(12.5)print(type(salary),salary)进制转换(了解部分)二进制:0 11010101res=1*(2**6)+1*(2**4)+1*(2**2)+1*1print(res)bin(11) #十进制的11转成二进制八进制:0-7print(oct(11))#十进制的11转成八进制十六进制:0-9 a-fprint(hex(11))print(hex(16))复数x=1-2jprint(x.real)print(x.imag)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏梧雨北辰的开发录

Swift学习:构造器(下)

本篇主要介绍Swift中构造器的一些特殊用法 一、可失败的构造器 顾名思义,这是用于我们构造过程可能失败情况的构造器。失败的原因可能是给构造器传入无效的参数值,...

2737
来自专栏猿人谷

《C++ primer》--第1,2章小结

 1、变量初始化:  定义变量时,应该给变量赋初始值,除非确定将变量用于其他意图之前会覆盖这个初值。如果不能保证读取变量之前重置变量,就应该初始化变量。变量...

21610
来自专栏web前端-

函数基础知识回顾

  String    Number   Boolean   Null    undefined    //占有固定的内存大小,如数值型占八个字节,布尔类型...

753
来自专栏听雨堂

JavaScript大略

 简介: javascript是一种基于对象和事件驱动并具有安全性能的脚本语言。 它是通过嵌入或调入在标准的HTML语言中实现的。 数据类型:   St...

17810
来自专栏大愚Talk

Golang中函数传参存在引用传递吗?

官方文档已经明确说明:Go里边函数传参只有值传递一种方式,为了加强自己的理解,再来把每种传参方式进行一次梳理。

1352
来自专栏java学习

Java每日一练(2017/8/21)

每日一句 学的到东西的事情是锻炼,学不到的是磨练。 查看以前的所有练习题目以及答案:https://mp.weixin.qq.com/mp/homepage?_...

35416
来自专栏coding for love

JS原生引用类型解析7-Promise类型

ES6引入了一个全新的对象Promise,用于表示一个异步操作的最终状态(完成或失败),以及其返回的值。Promise最直接的好处就是链式调用,另外在错误捕获上...

701
来自专栏用户2442861的专栏

深入理解java异常处理机制

http://blog.csdn.net/hguisu/article/details/6155636

822
来自专栏Java帮帮-微信公众号-技术文章全总结

数据结构基础(1) --Swap ; Bubble-Sort ; Select-Sort

Swap的简单实现 //C语言方式(by-pointer): template <typename Type> bool swapByPointer(T...

3538
来自专栏AI研习社

最常见的 35 个 Python 面试题及答案(2018 版)

作为一个 Python 新手,你必须熟悉基础知识。在本文中我们将讨论一些 Python 面试的基础问题和高级问题以及答案,以帮助你完成面试。包括 Python ...

6733

扫码关注云+社区

领取腾讯云代金券