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},
]
失败则重新登录,超过三次则退出程序
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额