format的用法
%s占位符 print('my name is %s,my age is %s'%('egon',18)) format的三种用法 *** print('my name is {name},my age is {age}'.format{name='egon',age=18}) print('my name is {},my age is {}'.format{'egon',18}) print('my name is {0},my age is{1}{1}{1}'.format{'egon',18})
split 把字符串切成列表(rsplit 从右边切到左边)
join用某种字符把列表重新拼成字符串(join只能将元素同位字符串的列表拼成大的字符串)
info='egon:18:male' l=info.split(':') print(l) newinfo=':'.join(l) print(newinfo)
当日作业字符串与列表练习
一、有列表:names=['lxx','alex','wupeiqi','yuanhao',4,5] #1、从列表中切出子列表['alex','yuanhao']
print(names[1:4:2]) #2、编写程序,判断列表中如果存在'alex',则列表中的'alex'改成'alex_SB',如果存在'egon'则删除
二、有如下列表,请采用两种方式取出列表中的值 my_girl_friends=['alex','wupeiqi','yuanhao',4,5] 方式一:依赖索引,请写出while循环与for循环两种实现方式
count=0
while count<len(my_girl_friends)
print(my_girl_friends[count])
count+=1
for i in len(my_girl_friends):
print(i,my_girl_friend[i])
方式二:不依赖索引
for item in my_girl_friends:
print(item)
三、说明白,数字、字符串、列表之间能否比较大小,如果能,请说明白各种情况下的比较方式 数字、字符串、列表之间不能比较大小,只有同级别的才能比较大小
print('b'>'a'>'A') 四、介绍字符串格式化的两种方式%与format,然后详细介绍format的三种使用方法
print('my name is %s,my age is %s'%('egon',18))
print('my name is {name},my age is {age}'.fomat{name='egon',age=18})
print('my name is {},my age is {age}'.format{'egon',18})
print('my name is {0},my age is {1}'.format{'egon',18}) 五、链式赋值
a=b=c=d=10
六、交叉赋值
y=10
x=11
x,y=y,x
七、变量的解压
l=['a','b','c']
x=l[0]
y=l[1]
z=l[2]
x,*_,y=[1,2,3,4,5,6]
print('x={},y={}'.format(x,y)) 九、切片:切出用户名alex msg='alex:123:admin' print(msg[:4]) 十一、成员运算in和not in 有如下列表,打印名字中包含sb的用户的信息(名字、年龄) students=[ {'name':'alex_sb','age':18}, {'name':'egon','age':18}, {'name':'wupeiqi_sb','age':18},]
for key in students:
if 'sb' in key['name']:
print(key['name'],kye['age'])
print('sb' in students[0]['name'])
print('sb' in students[1]['name'])
print('sb' in students[2]['name'])
十三、将下述字符串格式化,得到一个列表 user='root:x:0:0::/root:/bin/bash' res=user.split(':')
print(res)
十四、请用两种方式循环出字符串包含的每个字符 msg='egon你好' for 循环和 while 循环
for 循环
for key in msg
print(key)
while循环
msg='egon你好'
count=0
while count<len(msg):
print(count,msg[count])
count+=1
十五:字符串练习 # 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分) name = " aleX" # 1) 移除 name 变量对应的值两边的空格,并输出处理结果 # 2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果 # 3) 判断 name 变量对应的值是否以 "X" 结尾,并输出结果 # 4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果 # 5) 将 name 变量对应的值根据 “l” 分割,并输出结果。 # 6) 将 name 变量对应的值变大写,并输出结果 # 7) 将 name 变量对应的值变小写,并输出结果 # 8) 请输出 name 变量对应的值的第 2 个字符? # 9) 请输出 name 变量对应的值的前 3 个字符? # 10) 请输出 name 变量对应的值的后 2 个字符? # 11) 请输出 name 变量对应的值中 “e” 所在索引位置? # 12) 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。 十六:有列表data=['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量 十七:for循环练习 1、使用嵌套for循环打印99乘法表(补充:不换行打印的方法为print('xxxx',end='')) 提示: for i in range(...): for j in range(...): ... 2、使用嵌套for循环打印金字塔,金字塔层数为5层,要求每一个空格、每一个*都必须单独打印 * *** ***** ******* ********* 提示: 一个for循环套两个小的for循环,两个小的for一循环,一个控制打印空格,一个控制打印* 思路参考:http://www.cnblogs.com/linhaifeng/articles/7133167.html#_label14 十八:购物车程序 #需求: 启动程序后,先认证用户名与密码,认证成功则让用户输入工资,然后打印商品列表的详细信息,商品信息的数据结构可以像下面这种格式,也可以自己定制 goods=[ {'name':'mac','price':20000}, {'name':'lenovo','price':10000}, {'name':'apple','price':200}, {'name':'tesla','price':1000000}, ] 失败则重新登录,超过三次则退出程序 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额