这次学习的东西,主要在增删改查。
首先,学习了sys模块和os模块。首先通过了print(sys.path)打印其路径,site-packages。还有os模块 print(os.system('dir')) 乱码是因为windows编写不是utf-8, ces_res= os.system('dir') 只是执行命令,不保存结果。cmd_res=os.popen('dir).read() 执行命令之后存到临时的地方,需要read读出来。os.mddir('new_dir')创建新文件夹。
之后是数据类型,int,浮点,布尔值,循环,都是最基础。
导入模块。通过pyc了解到,python是解释性语言,不是内有编译过程,而是通过解释器对程序做逐行解释,直接运行。
列表的操作,增删改查。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: Dongdong
import copy
names=['ZhangYang','Guyun', 'Xiangpeng',['Alex','Black'],'ChenZhonghua',' XuLiangchen']
#range(1,10,2)
print(names[0:-1:2])
print(names[::2])
print(names[:])
for i in names:
print(i)
'''#name2=names.copy() 浅copy
name2=copy.deepcopy(names) #深copy
print(names)
print(name2)
names[2]='向鹏'
print(names)
print(name2)
names[3][0]='Dong'
print(names)
print(name2)'''
'''names.append('LeiHaidong')
names.insert(1,'ChenZhonghua')
names.insert(3,'XinZhiyu')
names[2]='XieDi'
#names.remove('ChenZhonghua')
#del names[1]
#names.pop(1)
print(names)
print(names.index('XieDi')) #查位置
print(names[names.index('XieDi')])
print(names.count('ChenZhonghua'))#统计
names.reverse()#反转
print(names)
names.sort() #排序
print(names)
names2=[1,2,3,4]
names.extend(names2) #加一个列表
#del names2
print(names,names2)'''
字符串的操作
#!/usr/bin/env python # -*- coding: utf-8 -*- # Author: Dongdong name='my name is {name}and i am {year} old' print(name.capitalize()) #首字母大字 print(name.count('a')) print(name.center(50,'-')) #补- 不够50个字符的时候 ****************** print(name.endswith('dong')) print(name.expandtabs()) print(name.find('name')) #找到的字符的索引 print(name[name.find('name'):]) print(name.format(name='dong',year=24)) print(name.isalnum()) print('adbc'.isalpha()) print('1e2'.isalnum()) #十进制 print("aaaa".isdigit()) print('aaa1a'.isidentifier()) #判断是不是一个合法的标识符 print("aaaa".islower()) #小写 print("aaaa".isnumeric())#不用 print("aaaa".istitle()) print('aaa'.join(['1','2','3'])) print('dong\n'.rstrip()) print('---') print('dong'.replace('d','D')) p=str.maketrans('Albert Wu','1a2x3456@') print('Wu e bu zuo de wo'.translate(p)) print('dodndhbihdk'.split("d"))#分割 print('Albert Wu'.swapcase()) #大小写反转 print('albert wu'.title()) print('albert wu'.zfill(50))
bytes数据类型。字符串和二进制相互转换。字转二 encode 二转字 decode。
三元运算
d=a if a>b else c,很方便。
*************************************
购物车程序
#!/usr/bin/env python # -*- coding: utf-8 -*- # Author: Dongdong #salary=int(input('您的月收入为:')) commodity = [['iPhone', 5600], ['bicycle', 1000], ['headset', 120], ['mobile phone', 3000], ['cloth', 800]] salary=input('您的月收入是:') shopping_list=[] if salary.isdigit(): salary=int(salary) while True: for index,i in enumerate(commodity): #enumerate 枚举 # print(commodity.index(i),i) #打印商品编号 print(index,i) choose=input('继续买请选择商品编号,返回则输入q>>>:') if choose.isdigit(): choose=int(choose) if choose<len(commodity)and choose>=0: p_item=commodity[choose] if p_item[1]<=salary:#买的起 shopping_list.append(p_item) salary-=p_item[1] print('将\033[31;1m%s\033[0m加入了您的购物车,您的余额还有:\033[31;1m%s\033[0m'%(p_item[0],salary)) #字体变颜色的方法 死模式 else: delete=input('\033[42;1m您的余额只剩下%s,如需删除购物车商品请输入‘d’.否则按任意键继续.\033[0m'%salary) if delete=='d': for index,i in enumerate(shopping_list): print(index,i) shoppinglist_choose=input('请选择需要删除的商品编号:') if shoppinglist_choose.isdigit(): shoppinglist_choose=int(shoppinglist_choose) d_item=shopping_list[shoppinglist_choose] salary+=d_item[1] del d_item print('您的余额还有:\033[31;1m%s\033[0m'%salary) else: print('Invalid option') else: print('\033[41;1m您的余额只剩下%s,请及时充值才可以购买。\033[0m'%salary) recharge=int(input('\033[42;1m请输入你所需要充值的金额:\033[0m')) salary+=recharge print('您的余额还有:%s'%salary) else: print("\033[32;1m没有此商品,请重新选择\033[0m") elif choose=='q': print('--------------shopping list----------------') for index,n in enumerate(shopping_list): #只是单纯想枚举一下 print(n) print('您的余额还有:\033[31;1m%s\033[0m'%salary) print('exit...') exit() else: print('Invalid option') else: print('Invalid option')
初学,写的很繁琐。。。
关于字典也很简单,之前一的时候登录中就用到了。 说个格式把\033[31;1m%s\033[0m 字体加颜色。