day5 for循环和字符串数据类型的基本使用
for循环
for i in range(10):
缩进的代码块
问题
打印九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s' %(i,j,i*j),end=' ')
print()
一.可变类型和不可变类型
可变类型:值改变了,id不变证明就是在改变原值,原值是可变类型。
不可变类型:值改变了,id跟着变,证明就是在产生新的值,原值是不可变类型。
二.字符串类型
定义: 在单引号 双引号 三引号
常用操作:
#优先掌握的操作:msg=“hello world”
#1、按索引取值(正向取+反向取) :只能取
print(msg[0]) 取h
#2、切片(顾头不顾尾,步长)
print (msg[0:5])取 hello
print (msg[0:5:2])取 h l o
print (msg[ : ])取hello world
print (msg[0:-5:-1])取dlrow (反向取最后一定要写步长不然默认是1)
#3、长度len
print(len(msg))
#4、成员运算in和not in
print(“xxxx”not in msg )
#5、移除空白strip
msg=“ hello ”
res=msg.strip( )
#6、切分split(有规律的字符串)
msg="egon:11:male"
res=msg.split(":")
#7、循环
需要掌握
#1、strip,lstrip,rstrip #2、lower,upper #3、startswith,endswith #4、format的三种玩法 #5、split,rsplit #6、join #7、replace #8、isdigit
答案
#strip
name='*egon**'
print(name.strip('*'))
print(name.lstrip('*'))
print(name.rstrip('*'))
#lower,upper
name='egon'
print(name.lower())
print(name.upper())
#startswith,endswith
name='alex_SB'
print(name.endswith('SB'))
print(name.startswith('alex'))
#format的三种玩法
res='{} {} {}'.format('egon',18,'male')
res='{1} {0} {1}'.format('egon',18,'male')
res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
#split
name='root:x:0:0::/root:/bin/bash'
print(name.split(':')) #默认分隔符为空格
name='C:/a/b/c/d.txt' #只想拿到顶级目录
print(name.split('/',1))
name='a|b|c'
print(name.rsplit('|',1)) #从右开始切分
#join
tag=' '
print(tag.join(['egon','say','hello','world'])) #可迭代对象必须都是字符串
#replace
name='alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1))
#isdigit:可以判断bytes和unicode类型,是最常用的用于于判断字符是否为"数字"的方法
age=input('>>: ')
print(age.isdigit())