day1
Python
字符串拼接:
迫不得已不要使用+号拼接,因为+号在内存开辟多块空间效率低下。
标准库:
可以直接使用inport 导入的就是标准库
库 ,如果有第三库可以后期添加
getpass.getpass 隐藏密码
缩进:
如果看到IndentationError 就是缩进错误
For循环:
range “从哪到哪”
continue ’跳出本次循环’
break ‘跳出整个循环’
列表分片—增删改查
names = ["Dawangba","Meinv","Laotir","Bendan"]
del names[1] #删
#print(names[-2:])
names.append("Hello")#增
#print(names.index("Dawangba"))#查
names[2] = "Whaha"#改
print(names)
#print(names [ names.index("Whaha") ] )
names2 = ["Zhangsan","Lisi","Wangermazi"]
names.extend(names2 )#合
del names2
print(names)
浅copy
Copy 模块
import copy
name1 = ['name',['a',100]]
p1 = name1.copy()
p2 = name1.copy()
print (name1)
print(p1)
p1[0] = 'xiaojiu'
p2[1] = 'dalin','10'
print(p1)
print(p2)
只拷贝 列表的第一层
深copy
import copy
name1 = ['name',['a',100]]
p1 = copy.deepcopy(name1)
#p2 = name1.copy()
print (name1)
print(p1)
p1[0] = 'xiaojiu'
#p2[1] = 'dalin','10'
print(p1)
#print(p2)
相当于克隆,类似于软连接 硬连接
For循环打印列表
name = ['dalin','xiaojiu','xiapang']
for i in name :
print (i[:])
元组
只可以读不可以修改
Count 和index 可以用 其他 都不可以使用
不希望更改的 数值 采用 元组
Name = (’A’,’B’)
购物车
commodity = [
('书记的裤衩',3000),
('书记的罩',4000),
('书记的二手情人',5000),
('书记的丁丁',6000),
('书记的蛋蛋', 1),
]
shoplist = []
money = input('请问你有多少钱》》》')
if money.isdigit():
money = int(money)
while True:
for index,table in enumerate(commodity):
#print(commodity.index(table),table)
print(index,table)
user_buy = input('请问你想买什么?》》》请输入产品的序号。')
if user_buy.isdigit():
user_buy = int(user_buy)
if user_buy < len(commodity) and user_buy >=0 :
p_money = commodity[user_buy]
#p_money = int(p_money)
if p_money[1] <= money:
shoplist.append(p_money)
money -= p_money[1]
print("你还有 [%s] 元,你购买了[%s]"%(money,p_money))
else:
print('穷逼你没有钱,买个JB 你还他妈有 [%s]'%(money))
else:
print("你选择了 [%s]不好意思,没有这个商品"%(user_buy))
elif user_buy == 'q':
print('------购物列表------ ')
for p in shoplist:
print(p)
print("你目前还有",money,"元")
break
else:
print("请输入正确的选项")
字符串操作
name = 'xiaojiu'
name1 = "my name is {name} and is my {year} old"
print(name.capitalize()) #首字母大写
print(name.count("i"))#统计字符串出现多少
print(name.center(10,"_"))#判断字符串是否够50不够以 _ 补全
print(name.encode())#将字符串转换为二进制
print(name.endswith("jiu"))#判断末尾是否已 xiaojiu 为结尾
print(name.find("i"))#获取 i 的位置下标
print(name1.format(name='xiaojiu',year='20'))#可以在字符串中设置 动态字符
print(name.index("x"))#索引
print('anA'.isalpha())#是否包含英文
print(name.isdigit())#是否为整数
print('-1a'.isidentifier())#是否为合法的变量名
print('1'.isnumeric())#是否为仅有数字
print('My Name Is'.istitle())#是否每个字母都大写
print('ASD'.isupper())#是否为大写
print(','.join(['1','2','3']))#列表转换为字符串 前面里可以在每个列表中添加字符
print(name.ljust(10,'*'))#判断字符长度 如果不够 在后面添加
print('ASD'.lower())#大写变小写
print('abc'.upper())#小写变大写
print('xiaojiu\n'.strip())#去掉空格和回车
p = str.maketrans('abcd','1234') #创建一一对应的字符串
print("qw".translate(p))
print('xiaojiu'.replace('x','A'))#替换字符串中的内容
print('xiaojiu'.rfind('o'))#查找下标 找到最后一个值得下标返回注意 find是找到最开始的下标返回
print(name.split())#将字符串转换为列表
print('1+2+\n3+4'.splitlines())##将字符串转换为列表按照换行来区分列表
print('aBcD'.title())#大小写互换