您的位置:首页 > 其它

基本数据类型,文件操作

2017-08-14 00:00 375 查看

1.运算符

a、算数运算

+、-*、/特殊:%取模,返回余数**几次方,幂//返回商的整数部分

b.比较运算

==等于!=不等于><>=<=

c.赋值运算

记忆:a+=b等价于a=a+b其他算数运算符类似

d.逻辑运算

andornot常用于if后判断多个条件

e.成员运算

in在指定序列找到值返回True,否则返回Falsenotin

2.基本数据类型

a.数字

int03.需要记忆:
#!/usr/bin/envpython#-*-coding:utf-8-*-
int#数字
n=4n.bit_length()#获取二进制的最短位数

b.布尔值

真或假1或0True或False

c.字符串str

1).upper大写.lower小写.title首字母大写.strip去除空白(lstrip、rstrip)
.capitalize()首字母大写

2)center、ljust内容靠左rjust
l='hello'
print(l.center(20,'_'))#内容居中,其他用_补齐
3)
#count('a',0,4)前几位包括空格a出现了几次,子序列的个数
'''l='hello'print(l.count('l',0,4))'''

#endswith('x',0,2)是否以x结尾,大于等于0小于2的位置对应l.startswith()以什么开始
'''l='hello'print(l.endswith('x',0,2))'''

#find(‘p’)查找子序列,找不到返回-1
'''l='hello'print(l.find('o',0,3))'''
#format格式化
'''s='hello{0},age{1}'n=s.format('hhh',4)#按顺序代替{}print(n)'''
#join列表、元组转字符串
'''l=['lll','ooo']s='--'.join(l)print(s)'''

#l.partition('ll')分割
#replace替换
#l.split('e',1)用e分割
#l.splitlines()用换行符分割
#索引
'''
l='hello'
l[0]
l[0:2]切片
'''

'''
l='hello'
l.startswith()
foriteminl:
print(item)
'''
#len(l)字符串长度

d.列表

#n=['l','i','p']#n.append后追加#n.count()计算出现几次#n.extend()批量添加#n.index()获取值的索引#n.insert('ss',1)插入#n.pop()删除最后一个#n.remove('ss')移除元素#n.reverse()反转#deln[0]直接删除第几个元素

li=['电脑','试试','内容']
foriteminli:
print(item)#item就是元素本身

e.元组

不能修改
#count计算元素出现的个数
#index获取元素索引

f.字典

'''

#!/usr/bin/envpython
#-*-coding:utf-8-*-u={'name':'alex','age':7,'gender':'M'
}#name是’alex‘的索引
print(u['name'])foriinu:print(i)#默认输出ku默认等于u.keys
'''
#print(u.keys())输出keys#print(u.values())输出values#print(u.items())输出keys:values
fork,vinu.items():print(k)print(v)print(u.get['age'])#key不存在返回nonein判断是否在字典#pop根据k删除#popitem#delu['name']删除字典元素

附加:字符串与列表的互相转化

1)字符串转列表

#s='ab,cde,fgh,ijk'#print(s.split(','))#split把字符串按分隔符分割成列表

2)列表转字符串

#join列表、元组转字符串
'''l=['lll','ooo']#每个元素必须是字符串格式s='--'.join(l)print(s)'''

3.命令的帮助

#print(dir(k))#dir显示命令的所有用法名#help(type('amm'))#显示命令的详细用法

4.enumerate自动生成序号

li=['电脑','试试','内容']foriteminli:print(item)inp=int(raw_input('>>:'))fork,vinenumerate(li):#enumerate自动生成序号默认序号从0开始#fork,vinenumerate(li,1)序号从1开始

print(k,v)li[inp]

5.range

#2.7pyrange立马创建xrange只有for循环时创建#3pyrange()只有for循环时创建#foriinrange(1,10,2)#2步长>=1,小于10#可用于创建数列

6.文件操作

#!/usr/bin/envpython#-*-coding:utf-8-*-#文件操作
'''#打开文件
f=open('ha.log')file_obj=file('文件路径','模式')r只读w写a追加w+写读r+读写'''file_obj=file('H:\log.txt','r+')#以读写方式打开文件#file_obj.read()#将所有数据读入内存#printfile_obj.read()
line_list=file_obj.readlines()#按换行符隔开,形成列表,每个列表以换行符结束foreleinline_list:#一行一行读取
line=ele.strip()#去除回车#str
values_list=line.split(';')#以;分开#形成list#用列表进行数据修改
values=int(values_list[-1])#把字符串数字转化成整形
values+=1values_list[-1]=str(values)#把数字赋值给字符串数字格式
#print(values_list)#修改完成后转成字符串
values_str=';'.join(values_list)#通过;把列表转换成字符串
file_obj.write('\n')#写入前换行
file_obj.write(values_str)#写入文件file_obj.writelines()#一行一行写
file_obj.close()#关闭文件

文件操作补充:

#打开文件
f=open('ha.log')file_obj=file('文件路径','模式')#默认编码方式encoding='utf-8'
r只读w写只写,不可读,文件不存在则创建,存在则清空x只写,不可读,文件不存在则创建,存在则报错a追加追加,不可读,文件不存在则创建,存在则只追加w+写读r+读写rb以字节方式打开f=open('ha.log','rb')#data=f.read()str_data=str(data,encoding='utf-8')#存储为字节,读取要将字节转化为字符串
#f.write(bytes('中国',encoding='utf-8'))#存储为字节,写时要将字符串转字节
print(f.tell)查看指针当前位置f.seek(0)#调整当前指针位置#withopen('H:\log.txt','r+')asf:打开并关闭文件===f=open('H:\log.txt','r+')#同时打开两个文件
withopen('H:\log.txt','r+')asf1,open('H:\log.txt','r+')asf2:forlineinf1:f2.write(line)forlineinf:#一行一行读
print(line)

7.作业

#!/usr/bin/envpython#-*-coding:utf-8-*-'''一、元素分类有如下值集合[11,22,33,44,55,66,77,88,99,90...],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。即:{'k1':大于66的所有值,'k2':小于66的所有值}''''''q=[11,22,33,44,55,66,77,88,99,90]#w={'k1':[],'k2':[]}#foriinq:#ifi>=66:#w['k1'].append(i)#else:#w['k2'].append(i)w={}foriinq:ifi>=66:if'k1'inw:w['k1'].append(i)else:w['k1']=[i,]else:if'k2'inw:w['k2'].append(i)else:w['k2']=[i,]print(w)'''#二查找列表中元素,移除空格,并查找以a或A开头并且以c结尾的所有元素。#li=["alec","aric","Alex","Tony","rain"]#tu=("alec","aric","Alex","Tony","rain")#dic={'k1':"alex",'k2':'aric',"k3":"Alex","k4":"Tony"}'''li=["alec","aric","Alex","Tony","rain"]w=[]foriinli:li[li.index(i)]=i.strip()foriinli:li[li.index(i)]=i.title()foriinli:ifi.startswith('A')andi.endswith('c'):w.append(i)print(li,w)'''
'''tu=("alec","aric","Alex","Tony","rain")w=[]foriintu:ifi.startswith('A')ori.startswith('a')andi.endswith('c'):w.append(i)print(w)''''''dic={'k1':"alex",'k2':'aric',"k3":"Alex","k4":"Tony"}w=[]fork,vindic.items():dic[k]=v.strip()forvindic.values():if(v.startswith('A')orv.startswith('a'))andv.endswith('c'):w.append(v)print(dic,w)'''#三、输出商品列表,用户输入序号,显示用户选中的商品#商品li=["手机","电脑",'鼠标垫','游艇']'''li=["手机","电脑",'鼠标垫','游艇']fork,vinenumerate(li,1):#enumerate自动生成序号print(k,v)inp=int(raw_input('请输入商品序号:'))print(li[inp-1])''''''四、购物车功能要求:要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。附加:可充值、某商品移除购物车goods=[{"name":"电脑","price":1999},{"name":"鼠标","price":10},{"name":"游艇","price":20},{"name":"美女","price":998},]'''
'''defgouwu():#购物模块globalmoneyglobalconsumptionnum=int(raw_input('请输入商品序号:'))num-=1price=goods[num]["price"]#goods[num]:按序号提取字典goods[num]["price"]按keys提取价格money=money-price#并计算剩余金钱consumption=consumption+priceshopping_cart.append(goods[num])#货物加入购物车defyichu():#移除购物车模块globalmoneyglobalconsumptionc=int(raw_input('请输入0/1选择是否移除购物车商品,移除请输入1:'))ifc==1:e=int(raw_input('请输入要移除的商品序号:'))d=goods[e-1]ifdinshopping_cart:#判断要移除的商品是否在购物车内shopping_cart.remove(d)#移除商品money=money+goods[goods.index(d)]["price"]#余额增加consumption=consumption-goods[goods.index(d)]["price"]#消费总额减少else:print('商品不存在')defchongzhi():#充值模块globalmoneypay=int(raw_input('请输入充值金额'))money=money+payprint('您的当前余额为:%d'%money)#显示当前余额money=int(raw_input('请输入您的余额'))goods=[{"name":"电脑","price":1999},{"name":"鼠标","price":10},{"name":"游艇","price":20},{"name":"美女","price":998},]form,ninenumerate(goods,1):print(m)forvinn.values():print(v)print('=============')#消费总额清零consumption=0buy=True#定义默认一直购物whilebuy:shopping_cart=[]price=0#定义初始价格b=1#定义默认不退出购物或充值状态ifmoney>=price:#消费模块;金钱大于货物价格时,才能开始购物whilemoney>=price:#计价模块,有钱就可以一直购物gouwu()#移除购物车商品模块yichu()ifmoney>=0:print('您的当前余额为:%d'%money)#显示当前余额b=int(raw_input('请输入0/1选择是否继续购物,购物请输入1:'))ifb==0:#break#退出计价模块ifb==0:#如果不购物break#不购物退出整个购物程序#充值模块else:whilemoney<price:#金钱不足,可多次充钱,直到能买得起货物a=int(raw_input('您的余额不足,请输入0/1选择是否充值,充值请输入1:'))ifa==1:chongzhi()else:break#退出充值模块ifa==0:break#不充值退出程序#打印购物车商品名、商品价格、消费总额、余额print('您的消费清单为:')form,ninenumerate(shopping_cart,1):print(m)forvinn.values():print(v)#打印消费清单print('=============')print('您的当前余额为:%d,您的消费总额为:%d'%(money,consumption))#打印消费总额'''#五、用户交互,显示省市县三级联动的选择'''dic={"河北":{"石家庄":["鹿泉","藁城","元氏"],"邯郸":["永年","涉县","磁县"]},"广东":{'深圳':['b','c','d'],'广州':['e','f','g']},"陕西":{'西安':['h','i','j'],'宝鸡':['k','l','m']}}deflist_city():globall,m,n,o,p,q,r,s,t,ul=[]m=[]n=[]o=[]p=[]q=[]r=[]s=[]t=[]u=[]forkindic:l.append(k)#l=[河北广东陕西]forkindic[l[0]]:m.append(k)#m=[石家庄邯郸]forkindic[l[1]]:n.append(k)#n=[深圳广州]forkindic[l[2]]:o.append(k)#0=[西安宝鸡]forkindic[l[0]][m[0]]:#p=["鹿泉","藁城","元氏"]p.append(k)forkindic[l[0]][m[1]]:#q=["永年","涉县","磁县"]q.append(k)forkindic[l[1]][n[0]]:#r=['b','c','d']r.append(k)forkindic[l[1]][n[1]]:#s=['e','f','g']s.append(k)forkindic[l[2]][o[0]]:#t=['h','i','j']t.append(k)forkindic[l[2]][o[0]]:#u=['k','l','m']u.append(k)defshi_print():ifa=='河北':forkinm:print(k)elifa=='广东':forkinn:print(k)else:forkino:print(k)defxian_print():ifb=='石家庄':forkinp:print(k)elifb=='邯郸':forkinq:print(k)elifb=='深圳':forkinr:print(k)elifb=='广州':forkins:print(k)elifb=='西安':forkint:print(k)else:forkinu:print(k)whileTrue:list_city()forkinl:print(k)a=raw_input('请输入省:')shi_print()c=raw_input('是否返回上一层,输入y/n')ifc=='y':continue
else:whileTrue:shi_print()b=raw_input('请输入市:')xian_print()d=raw_input('是否返回上一层,输入y/n')ifd=='y':continue
else:break
break
'''http://www.cnblogs.com/Wxtrkbc/p/5448870.html补充:购物车字典模式:
{'电脑':{'n':1,'price':1999}}
代码:
shopping_cart={}

defgouwu():#购物模块
globalmoney
globalconsumption
num=int(input('请输入商品序号:'))
num-=1
ifgoods[num]["name"]inshopping_cart.keys():#goods[num]["name"]取商品名
shopping_cart[goods[num]["name"]]['n']+=1#商品数量+1
else:
shopping_cart[goods[num]["name"]]={"price":goods[num]["price"],'n':1,}创建购物车字典{keys{"price":价格,数量:1}}
money-=shopping_cart[goods[num]["name"]]["price"]*shopping_cart[goods[num]["name"]]['n']#单价*数量
consumption+=shopping_cart[goods[num]["name"]]["price"]*shopping_cart[goods[num]["name"]]['n']


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐