2019-05-04(第二周全打)

# ### day1

print("hello world")

print("ptthon5期唯一女生罗婷")

rujia_305="王文"

rujia_306="李四"

print(rujia_305)

import keyword

print(keyword.kwlist)

#a,b的交换

a=1

b=2

print(a,b)

a,b=b,a

print(a,b)

#通用写法

a=1

b=2

temp=a

a=b

b=temp

print(a,b)

#变量的命名

'''字母数字下划线,首字符不能为数字

严格区分大小写,且不能使用关键字

变量命名有意义,且不能使用中文哦'''

# ###

# 二进制转换为10进制

# 从右到左,依次数位∑a*2^b  其中a为位数上的值,b为位数

# 从右到左,依次数位∑a*8^b  其中a为位数上的值,b为位数

# 从右到左,依次数位∑a*16^b  其中a为位数上的值,b为位数

#10进制转二进制,8进制,16进制

# 10%2  然后从下到上依次排列即可

# 10%16  然后从下岛上依次排列即可

# 206》》》》0xCE

#补码原码的转换

# 计算机底层用的是补码,正数的补码原码反码都一样

# 负数:补码=原码的反码+1

# 原码=补码的反码+1

# 复数的原码再原来的基础上  高位0变成1

'''

9-5

9的补码(原码):0 0000 1001

-5的原码: 1 0000 0101

-5的原码的反码:1 1111 1010

-5的补码:1 1111 1011

9-5的补码:0 0000 0100

9-5的原码:0 0000 0100

4

1 001

2 010

3 011

4 100

5 101

6 110

7 111

8 1000

9 1001

a 1010

b 1011

c 1100

d 1101

e 1110

f 1111

'''

#python的6大类型数据

#Num(int,float,complex,bool)

intvar=152

print(intvar,type(intvar))

intvar=0b0100110

print(intvar,type(intvar))

intvar=0o1260

print(intvar,type(intvar))

intvar=0xFF

print(intvar,type(intvar))

floatvar=10e2

print(floatvar,type(floatvar))

floatvar=1.3606

print(floatvar,type(floatvar))

boolvar=True

print(boolvar,type(boolvar))

complexvar=4+5j

complevar=complex(4,5)

print(complevar)

#容器类型str

strvar="人生苦短,我用python"

print(strvar)

strvar='''古道西风瘦马

断肠人在天涯'''

print(strvar)

strvar="天苍苍,\n野茫茫,\n遍地黄花香,\n\r哈哈哈\t哈哈哈"

print(strvar)

strvar="天苍苍,也茫茫\r遍地黄花香"

print(strvar)

strvar="明月几时有'把酒问青天'"

print(strvar)

strvar="明月几时有,\"把酒问青天\""

print(strvar)

#转移字符,将有意义的字符变的无意义,将无意义的字符变的有意义

# \+某个字符

#\n表示换行

# \n\r表示换行

#\r表示将右边的字符提到行首,左边的字符被覆盖

# \t表示一个缩进(水平制表符)

#\加""  可以打印出""

# 元字符串r+字符串(字符串内的转义字符失效)

strvar=r"天苍苍,\n野茫茫,\n遍地黄花香,\n\r哈哈哈\t哈哈哈"

print(strvar)

#字符串的格式化,其中%d表示整形,%f表示浮点型,%s表示字符串

# 其中f默认是小数点后6位

# %3d表示字符个数,默认靠右

# %-3d,默认靠左

# 如果%d给予一个浮点型,将直接取整

strvar="小黄转了%f的钱,准备买入%d斤的苹果,她%s"%(1.53,2,"高兴")

print(strvar)

strvar="小黄转了%f的钱,准备买入%d斤的苹果,她%s"%(2,1.53,"高兴")

print(strvar)

strvar="小黄转了%.1f的钱,准备买入%d斤的苹果,她%s"%(1.58,2,"高兴")

print(strvar)

strvar="小黄转了%f的钱,准备买入%3d斤的苹果,她%s"%(1.53,2,"高兴")

print(strvar)

strvar="小黄转了%f的钱,准备买入%-3d斤的苹果,她%s"%(1.53,2,"高兴")

print(strvar)

#list列表

#定义一个空列表[]

listvar=[1,2,3,4]

print(listvar[0])

listvar[1]="开心"

print(listvar)

length=len(listvar)

print(length)

#特征:可获取,可修改,有序

#tuple元组

#定义一个空元组:()

# 特征:可获取,不可修改,有序

tuplevar=(1,2,3,4)

# 元组的标致符号是,

print(tuplevar[2])

tuplevar=(1,2,3,4,[5,6,7])

tuplevar[-1][0]="开心"

print(tuplevar)

#字符串

#特征:可获取,不可修改,有序

strvar="很高兴见到你"

print(strvar)

#定义一个字符串''

#集合set

#定义一个空集合set()

setvar=set()

setvar={"开心",123,556}

print(setvar)

#特征:自动去重,无序

#字典

#键值对存储数据,看似有序,实际无序

#定义一个空字典{}

dictvar={"a":123,"b":456,"c":789}

print(dictvar)

print(dictvar["a"])

#哈希算法

#将任意长度的不可改变的数据通过算法变成固定长度的唯一值,这种算法叫做哈希算法,这个值叫做哈希值

#集合的元素,字典的键一定是可哈希

#特点:哈希存储数据的时候是一个随机存放的散列,存储速度快

#自动类型转换

#Number 精度从低到高 bool int float complex

res=True + 1

print(res)

res=True+4j+10

print(res)

#可哈希的数据:Number(int,float,complex,bool),string,tuple

#不可哈希的数据:dict,set,list

####强制类型转换

#number

var1=4

var2=1.9

var3=4e5

var4=4+5j

var5=True

var6="12315"

var7="asssacx61581"

'''int类型转化,其中int float bool 还有字符全为数字的字符串'''

res1=int(var2)

res2=int(var3)

# res3=int(var4) error

res4=int(var5)

res5=int(var6)

# res6=int(var7) error

print(res1,res2,res4,res5)

#float强行转换

'''float类型转换,其中int,float,bool,还有字符全为数字的字符串'''

res1=float(var1)

res2=float(var3)

res3=float(var5)

res4=float(var6)

print(res1,res2,res3,res4)

#complex转换

"""complex转换,能将所有数字类型及字符全为数字的字符串转换"""

res1=complex(var1)

res2=complex(var2)

res3=complex(var3)

res4=complex(var4)

res5=complex(var5)

res6=complex(var6)

print(res1,res2,res3,res4,res5,res6)

#bool类型转换

'''任何类型都可以转为bool,除以下十种外转换值都为True

0 '' 0.0 0j False [] () set() {} None'''

var1="今天天气好晴朗"

var2=["高兴","开心","悲伤"]

var3=("2","3","4")

var4={"天天","快乐","哈"}

var5={"上路":"牛头","上路":"sven","中路":"小y"}

#str

'''可以转换所有的数据

在原数据基础上外加上双引号'''

strvar1=str(var1)

strvar2=str(var2)

strvar3=str(var3)

strvar4=str(var4)

strvar5=str(var5)

print(repr(strvar1))

print(repr(strvar2))

print(repr(strvar3))

print(repr(strvar4))

print(repr(strvar5))

#listvar

'''只能容器类型数据强转

其中字符串类型,将每个字符都作为列表中的元素录入,并套上[]标识符转换'''

listvar1=list(var1)

listvar2=list(var2)

listvar3=list(var3)

listvar4=list(var4)

listvar5=list(var5)

print(listvar1,listvar2,listvar3,listvar4,listvar5)

'''字典类型强转列表,只保留键,并套上[]标识符转换

其余类型,在原有数据基础上,套上[]标识符转换'''

#tuple

tuplevar1=tuple(var1)

tuplevar2=tuple(var2)

tuplevar3=tuple(var3)

tuplevar4=tuple(var4)

tuplevar5=tuple(var5)

print(tuplevar1,tuplevar2,tuplevar3,tuplevar4,tuplevar5)

'''如果强转字符串类型,将字符串中的每个字符作为元组中的元素录入,并套上()标识符进行转换

字典类型转化,只保留键,并套上()标识符

其余类型,在元数据的基础上,套上()标识符'''

#set集合

set1=set(var1)

set2=set(var2)

set3=set(var3)

set4=set(var4)

set5=set(var5)

print(set1,set2,set3,set4,set5)

'''如果强转字符串类型,将字符串中的每个字符作为集合中的元素录入,并套上{}标识符进行转换

字典类型转化,只保留键,并套上{}标识符

其余类型,在元数据的基础上,套上{}标识符'''

#如果数据中含有不可哈希的数据,则不可以转换为集合

var=[1,2,3,4]

print(set(var))

# var=[1121,2,[3,4]]

# print(set(var))  error

#多级容器

#在原有容器类型数据的内部,其内部的元素还是容器类型数据(list,tuple,set,dict)

#二级列表

listvar=[1,2,3,4,[1,2,3]]

print([-1][0])

#二级元组

tuplevar=(1,2,3,4,(5,6,7,8))

print(tuplevar[-1][-1])

#二级集合

#里面只能存储元组

setvar={"开心",123,(1,2,3,4)}

print(setvar)

#二级字典

dictvar={"a":{1:"开心",2:"高兴"},"c":0}

print(dictvar["a"][2])

#等长的二级容器

#首先容器是两个,代表二级容器,容器元素的个数是一样的

res=[[1,2],[3,4],[5,6]]

print(dict(res))

#强转字典

'''(1)外面是列表,里面是列表,元组或字符串的二级容器

(2)外面是元组,里面是列表,元组或字符串的二级容器

(3)外面是集合,里面是元组,字符串而二级容器'''

#字符串的元素个数只能是两层,有局限,不推荐使用

#合集作为容器的元素,容易出现非预期的效果,不推荐使用

#变量的缓存机制

#-5~正无穷,值相同,地址相同

#float,非负数的浮点型,值相同,地址相同

#bool ,值相同,地址相同

#complex,除了纯虚数的情况,值相同,地址相同,其余情况地址都不同

#容器类型数据,字符串,值相同,地址相同

#空元组()地址相同

#其余容器类型数据,都不相同

# ####python运算符

#算数运算符:+ - * / // % **

print(4+3)

print(30-8)

print(30*6)

print(30//9)

print(30/9)

print(30%9)

print(2**3)

#7 22 180 3 3.333333  3  8

#比较运算符 > < = <= >= == !=

#返回值是True 或 False

#身份运算符

#is ,is not

var1=[1,2]

var2=[1,2]

print(var1 is var2)

print(var1==var2)

#is是判断地址是否相同,==判断值是否相同

#逻辑运算符

#and or not

#优先级 not> or >and

#逻辑短路

#True or 布尔值

#False and 布尔值

res=True and print(8)

print(res)

None

res=True or print(8)

print(res)

res=False and print(8)

print(res)

#porint默认返回一个None

# ###数据类型的判断isinstance

print(isinstance("hello world",str))

res=123456

print(isinstance(res,(str,list,set)))

#赋值运算符 = += -= /= //= %=  **=

var1=15

var2=16

var1+=var2

var1=var1+var2

var1-=var2

var1=var1-var2

var1/=var2

var1=var1/var2

var1//=var2

var1=var1//var2

var1%=var2

var1=var1%var2

var1**=var2

var1=var1**var2

#成员运算符

#in not in

#如果是字符串,必须是连续的片段

strvar="窈窕淑女,君子好逑"

print("淑女"in strvar)

print("女君" in  strvar)

strvar="1111天才"

print("111" in strvar)

setvar={"开心","高兴",1}

print(1 in setvar)

#如果是字典,只能识别键

dictvar={1:"asd",2:"dcsvart"}

print(1 in dictvar)

#位运算符 << >> & | ^ ~

#按位与&,在数字二进制中进行运算,全真为真,一假则假

var1=15

var2=10

res=var1&var2

print(res)

'''

15  0000 0000 1111

10  0000 0000 1010

0000 0000 1010

10

'''

#按位或| 在数字二进制中进行运算,全假则假,一真为真

va1=15

var2=10

res= var1|var2

print(res)

'''

15 0000 0000 1111

10 0000 0000 1010

  0000 0000 1111


15

'''

#按位异或^  在数字二进制中进行运算,相同为假,不同为真

var1=15

var2=10

res=var1^var2

print(res)

'''

15 0000 0000 1111

10 0000 0000 1010

  0000 0000 0101

5

'''

#左移<< 在数字二进制中进行原酸,将二进制向左移动数字位

#在实际运算中a<

var1=10

res=var1<<2

print(res)

'''

10 0000 0000 1010

  0000 0010 1000

40


  '''

#右移>>在二进制中进行运算,将二进制向右移动数字位

#实际运算过程中a>>b  直接用a地板除2的b次幂

var1=10

res=var1>>2

print(res)

'''

10 0000 0000 1010

  0000 0000 0010

  '''

#按位非~ 在数字二进制的补码中操作,将二进制中的所有位数都取反

var1=-12

print(~(var1))

#可直接计算为-(n+1)

'''

-12的原码  1 0000 0000 1100

-12的反码 1 1111 1111 0011

-12的补码 1 1111 1111 0100

-12的按位非补码

0 0000 0000 1011

原码即为    0 0000 0000 1011

11

'''

#运算符的优先级

'''

()优先级最高\

**优先级其次

一般情况下一元运算符的要优先于二元运算符(not除外)

not>and>or

=的优先级最低

赋值运算符将右边的值算出后赋值于等号左边的值

算数运算符>比较运算符>位运算符>身份运算符>成员运算符>逻辑运算符'''

#小数据池

#-5~256的数字

#字符为1或0的字符串

#字符串只包含数字字幕下划线的字符串

#bool

#由乘积得到的字符串,如乘积为1都保留在小数据池,若大于1,为字母数字下划线,保留,但数位不能超过20

#指定驻留函数

from sys import intern

a=intern("天下为我独尊")

b=intern("天下为我独尊")

print(a is b)

#代码块;以冒号作为开始,用缩进来划分作用域,这个整体就叫做代码块

#其他语言用{}来表示

#注意空格和tab 的区别

####流程控制

# 流程:代码运行的过程

#流程控制:对代码运行的过程进行管控

'''

1,顺序结构

2,分支结构

3,循环结构'''

#单项分支

xujingxiong="爽"

if xujingxiong=="爽":

print("开心")

#多项分支

xujingxiong="爽"

if xujingxiong=="悲":

print("伤心")

else:

print("开心")

#input 等待用户输入字符串

'''

username=input("请输入用户名:")

pasword=input("请输入密码:")

if username=='admin' and pasword=='0000':

print("欢迎你")

else:

print("用户名或密码错误")

'''

#多项分支(elif只要一个条件满足,剩下的就不执行了)

youqian=False

youche=False

youfang=False

youyanzhi=False

if youqian == True:

print("xxxx1")

elif youche==True:

print('xxxx2')

elif youfang==True:

print("xxxx3")

elif youyanzhi==True:

print("XXXX4")

else:

print("滚")

#巢状分支(单项,多项,嵌套执行)

youqian=True

youche=False

youfang=False

youyanzhi=False

if youqian==True:

if youche==True:

if youyanzhi==True:

if youfang==True:

print("来来来")

else:

print("滚4")

else:

print("滚3")

else:

print("滚2")

else:

"滚"

#循环结构while  for

'''基本语法

while 条件:

code1

code2

'''

#打印1~100

i=1

while i<=100:

print(i)

i+=1

#1~100的累加和

i=1

total=0

while i<=100:

total+=i

i+=1

print(total)

#死循环写法

i=1

total=0

flag=True

while flag:

total+=i

i+=1

if i ==101:

flag =False

print(total)

#打印一行10个小星星

i=0

while i<10:

print("*",end="")

i+=1

#字符串的相关操作:

#字符串的拼接

str1="我是"

str2='天才'

res=str1+str2

print(res)

#字符串的重复

str1="天才"

res=str1*10

print(res)

#字符串的跨行拼接

strvar="xxxxxxxxxxxx"\

"151051815115"\

"hello world"

print(strvar)

#字符串的索引

strvar="我是天天和你在一起"

res=strvar[4]

print(res)

#字符串的切片:切片就是截取

#语法[:: ]截取的开始,截取的结束,截取的间隔值

#其中结束值是取不到的

strvar="我想你在365的夜,希望能和你在一起,开开心心"

res=strvar[::]

print(res)

res=strvar[:]

print(res)

res=strvar[1:]

print(res)

res=strvar[:9]

print(res)

res=strvar[:9:3]

print(res)

res=strvar[-7:-1]

print(res)

print("<=================================================>")

res=strvar[-1:1:-1]

print(res)

res=strvar[::-1]

print(res)

#如果是倒叙,即步长为负,则前面开头的顺序一定是数数的顺序,先数的在前,后数的在end

'''

3出题 height

#女生找对象

# 男生在1米~1.5米之间 小强 你在哪里?

# 男生在1.5~1.7米之间 没有安全感~

# 男生 1.7~ 1.8米之间 帅哥 留个电话

# 男生 1.8~2米之间 帅哥 你建议多一个女朋友吗

#python特有的写法

high=float(input("请输入你的身高:"))

if 1<=high<1.5:

print("小强,你在哪里")

elif 1.5<=high<1.7:

print("没有安全感")

else:

print("滚")

#通用写法

high = float(input("请输入你的身高:"))

if 1 <= high and high< 1.5:

print("小强,你在哪里")

elif 1.5 <= high  and high< 1.7:

print("没有安全感")

else:

print("滚")

'''

#用一行变量打印出一行十个小星星

i=0

while i<10:

print("*",end="")

i+=1

i=0

total=""

while i<10:

total+="*"

i+=1

print(total)

# 3.打印一行十个小星星 奇数个打印★ 偶数个打印☆

'''任意数m%n,余数范围0~(n-1)'''

i=0

while i <10:

if i%2==0:

print("☆",end="")

else:

print("★",end="")

i+=1

# 4.一个循环 打印十行十列小星星\

#单循环

i=0

while i <100:

print("*",end="")

if i%10==9:

print()

i+=1

#双循环

i=0

while i<10:

j=0

while j<10:

print("*",end='')

j+=1

print()

i+=1

# 5.一个循环 打印十行十列隔列变色小星星

#单循环

i=0

while i <100:

if i % 2 == 0:

print("☆", end="")

else:

print("★", end="")

if i%10==9:

print()

i+=1

#双循环:

i=0

while i<10:

j=0

while j<10:

if j%2==0:

print("☆", end="")

else:

print("★", end="")

j+=1

print()

i+=1

# 6.一个循环 打印十行十列隔行变色小星星

#单循环

i=0

while i <100:

if i//10%2 == 0:

print("☆", end="")

else:

print("★", end="")

if i%10==9:

print()

i+=1

#双循环:

i=0

while i<10:

j=0

while j<10:

if i%2==0:

print("☆", end="")

else:

print("★", end="")

j+=1

print()

i+=1

# 7.用户登陆(三次输错机会)且每次输错误时显示剩余错误次数

# (提示:字符串格式化)

'''

times=3

while times:

pasw=input("请输入密码:")

if pasw=="0000":

print("欢迎你")

break

else:

if times==1:

print("账户已被冻结")

break

print("你输入的密码有误,还可输入%d次"%(times-1))

times-=1

'''

#关键字的使用

#pass

if 5 ==5:

pass

i=0

while i<10:

pass

i+=1

#break终止当前循环(只能用在循环中)

'''打印1~10,如果遇到5中止'''

i=1

while i<=10:

print(i)

if i ==5:

break

i+=1

#break终止的是当前循环

i=1

while i<3:

j=1

while j<=3:

if j==3:

break

print(i,j)

j+=1

i+=1

#(1,1),(1,2),(2,1),(2,2)

#continue 跳过当前循环,从下一次循环开始

# 打印1~10 不打印5

i=0

while i <10:

if i ==5:

i+=1

continue

print(i)

i += 1

# 打印1~100 所有不含有4的数字

#方法一

i=1

while i<=100:

strvar=str(i)

if "4" not in strvar:

print(i)

i+=1

#方法二

i=1

while i <=100:

shiwei=i//10

gewei=i%10

if shiwei!=4 and gewei!=4:

print(i)

i+=1

# ###for循环

#循环,遍历,迭代

#把列表里面的元素一一拿出来就是遍历

listvar=["开心","高兴","伤心"]

#用len来遍历

lenth=len(listvar)

i=0

while i

print(listvar[i])

i+=1

#while循环局限性在于,不能遍历集合这样的数据类型

#for循环特指用来遍历

#for 的语法  for...in...

#代码解析;将容器类型数据的每一个元素,依次的拿出来赋值给变量,直到所有数据依次遍历后终止,跳出循环

#遍历字典的时候,遍历的是键

container="我爱你亲爱的的姑娘,见到你我就心慌"

for i in container:

print(i)

#字符串是将每一个字符进行单独遍历

#编列等长的二级容器

listvar=[[1,2],[3,4],[5,6]]

for x,y in listvar:

print(x)

print(y)

#变量的解包

#range对象

'''

语法

range(start,end,step)

使用方式像是,高位的end取不到'''

#一个参数情况

for i in range(5):

print(i)

#默认从0开始

#两个参数

for i in range(3,10):

print(i)

#三个参数:

for i in range(3,10,2):

print(i)

#打印9~1

for i in range(9,0,-1):

print(i)

# ###字符串相关函数(函数就是方法的意思,完成某个功能)

'''语法:字符串.函数'''

#capitalize

strvar="one world one dream"

res=strvar.capitalize()

print(res)

#title将每个字母的字母大写(非字母就可以 让后面的字母字符串大写)

strvar="oneworld one---dream"

print(strvar.title())

#upper将所有字母大写

strvar="one world one dream"

res=strvar.title()

print(res)

#lower将所有字母小写

print(res)

print(res.lower())

#swapcase大小写互换

strvar="sacmiamreASACMIR"

print(strvar.swapcase())

#len计算字符串的长度

#count计算某个元素在字符串中出现的数量

strvar="案件哈时间啊曹鹏模拟题你不觉得是你觉得烦哈哈回复"

print(strvar.count("哈"))

#find 查找某个元素第一次出现的索引,找不到返回-1

'''find("元素",start,end),高位取不到end'''

strvar="are u happy"

res=strvar.find('h')

print(res)

res2=strvar.find("h",0,5)

print(res2)

res3=strvar.find("h",-6,-1)

print(res3)

#find只接受从左到右的顺序

#index用法和find相同,但index如果没有查找到就是报错

#startswith 返回True or False

'''表村是否以某个字符或字符串的为开头'''

strvar="天天开心日日快乐"

res=strvar.startswith("天")

print(res)

'''startswith("字符",starts,end)高位取不到'''

#endswith以某个字符串或者字符皆为

strvar="天天开心日日快乐"

res=strvar.endswith("乐")

print(res)

#isalpha判断字符串是否由字母或者文字组成

strvar="哈哈哈哈123505xxx"

print(strvar.isalpha())

strvar="哈哈哈哈xxx"

print(strvar.isalpha())

#isalnum判断字符串是否由数字字母汉字组成

strvar="哈哈哈哈123505xxx"

print(strvar.isalnum())

#isdigit判断字符串是否完全由数字组成,可以接受二进制字节流

strvar="15050600"

print(strvar.isdigit())

strvar=b"1223150"

print(strvar.isdigit())

strvar=b"asdfa"

print(strvar.isdigit())

#isdecimal判断字符串是否由数字组成,不能接受二进制字节流

strvar="15050600"

print(strvar.isdecimal())

# strvar=b"1223150"

# print(strvar.isdecimal())  error

#split将字符串分割为列表(默认是空格)

strvar="开心高兴快乐"

res=strvar.split()

print(res)

strvar="开心 高兴 快乐"

res=strvar.split()

print(res)

strvar="开心.高兴.快乐"

res=strvar.split(".")

print(res)

strvar="开心.高兴.快乐"

res=strvar.split(".",1)

print(res)

#split从左往右数    rsplit是从右往左数

strvar="开心.高兴.快乐"

res=strvar.rsplit(".",1)

print(res)

#join 将容器类型数据拼接为字符串

listvar=["开心","高兴","完美",'',""]

res="".join(listvar)

print(res)

listvar=["开心","高兴","完美",'',""]

res="+".join(listvar)

print(res)

dictvar={"a":"天才","b":"儿童"}

res="+".join(dictvar)

print(res)

#字典使用join时,只提取键

#center填充字符,原字符默认居中(默认填充空格)

'''原字符个数+要填充的字符一共多少个'''

strvar="哈哈哈"

print(strvar.center(10,"*"))

#数在前,填充的字符在后

#strip 默认去掉首位两边的空白符

strvar="          周杰伦        "

res=strvar.strip()

print(res)

#rstrip 去掉右边的字符

#lstrip 去掉左边的字符

strvar="aaxxxaaaaaaaaaaa15505bbbbbbsssbbbb"

print(strvar.lstrip("aa"))

print(strvar.rstrip("bb"))

#replace()  将某个元素替换为另一个元素(可选择替换几次)

strvar="可爱的小狼狗,喜欢吃肉肉,有么有,有没有,还有没有"

res=strvar.replace("有没有","别啊",1)

print(res)

# ###字符串的格式化 format

# (1)顺序占位

strvar="{}给{}踹了一脚".format("xjxj","yx")

print(strvar)

#索引占位

strvar="{1}向{0}开了一枪".format("xjxjxx","yx")

print(strvar)

#关键字占位

strvar="{凶手}向{受害人}开了一枪".format(凶手="天才",受害人="智障")

print(strvar)

#容器类型传参

strvar="{1[1]}向{0[2]}开了一枪".format(["天才","智障","王牌","间谍"],[12315,150505])

print(strvar)

#如果是字典,场景发生在format字符串格式化中,通过键取值,不要加上引号

strvar="{0[凶手]}向{0[受害者]}开了一枪".format({"凶手":"天才","受害者":"智障"})

print(strvar)

# ###format填充符号与格式化

# (5)format填充符号的使用

strvar="{who:*^10}今天买了香蕉".format(who="王朝")

print(strvar)

'''格式{who:*>10}'''

strvar="{who:*^10}在这个城市的{where:*>20}能够开心的{what:*<10}"

res=strvar.format(who="王朝",where="上层",what="生活")

print(res)

#进制转换等特殊符号的使用(:d :f :s :,)

#:d整形占位符

strvar="徐小姐买了{:d}双鞋"

res=strvar.format(16)

print(res)

strvar="徐小姐买了{:7d}双鞋"

res=strvar.format(16)

print(res)

strvar="徐小姐买了{:<7d}双鞋"

res=strvar.format(16)

print(res)

strvar="徐小姐买了{:^7d}双鞋"

res=strvar.format(16)

print(res)

#f浮点型占位符

strvar="xjx的体重是{:.2f}"

res=strvar.format(120.529502)

print(res)

#s字符串占位符

strvar="{:s}"

res=strvar.format("1235")

print(res)

#金钱占位符

strvar="{:,}"

print(strvar.format(1505602))

你可能感兴趣的:(2019-05-04(第二周全打))