#根据字典内元素筛选。
a= [ {'name':'张三','age': 18 ,'address':'北京'},
{'name':'张二','age': 48 ,'address':'上海'},
{'name':'张大','age': 38 ,'address':'北京'} ]
maxAgeZd=a[0]
i=0
while i<len(a):
if a[i]['age']>maxAgeZd['age']:
maxAgeZd = a[i]
i+=1
print(maxAgeZd)
a=[2,3,4,1,10,9]
m=a[0]
n=a[0]
for i in range(len(a)):
if a[i]>m:
m=a[i]
elif a[i]<n:
n=a[i]
print(m,n)
#传送带。
a=[1,2,3,4,5,6]
j=0
while j<len(a)//2:
i=0
t=a[0]
while i<len(a)-1:
a[i]=a[i+1]
i+=1
a[len(a)-1]=t
print(a)
j+=1
#反向传送带。
a=[1,2,3,4,5]
t=a[len(a)-1]
i=len(a)-1
while i>0:
a[i]=a[i-1]
i-=1
a[0]=t
print(a)
def f(a,b):
c=a+b
return c
d=f(2,3)
print(d)
#LEGB法则的举例。
a=20
def f1():
a=10
b=1
def f2():
b=30
c=40
d=c+b
print(b,c,d,max)
f2()
print(a,b)
f1()
print(a)
#函数返回值。
def fun(a,b):
c=a+b
d=a-b
return c,d
x,y=fun(3,4)
print(x,y)
z=fun(5,7)
print(z)
a=[1,2,3]
def fun(a):
a.append(12)
fun(a)
print(a)#可变类型的全局变量会被函数影响。
print(fun(a))#打印的是函数的返回值,而函数无返回值则返回None.
#用读写文件方式往字典内添加元素。
a={ '001':{'name':'张三','age': 18 ,'num':'001'},
'002':{'name':'张二','age': 28 ,'num':'002'}}
class B():
@staticmethod
def write():
f=open('a.txt','w')
for x in a.keys():
for k,v in a[x].items():
f.write(k+':'+str(v))
if k=='num':
f.write('\n')
else:
f.write(',')
f.close()
@staticmethod
def read():
f=open('a.txt','r')
c=f.readline()
dzd={}
while len(c)>0:
items=c.strip().split(',')
zd={}
for item in items:
s=item.split(':')
if s[0]=='age':
zd[s[0]]=int(s[1])
else:
zd[s[0]]=s[1]
if s[0]=='num':
dzd[s[1]]=zd
c = f.readline()
f.close()
print(dzd)
s=B()
s.write()
s.read()
a=[
{'name':'张三','age': 18,'address':'北京','num':'001'},
{'name':'张二','age': 48,'address':'上海','num':'002'},
{'name':'张大','age': 38,'address':'山东','num':'003'}
]
#文件的增删改查:静态方法实现。
class StudentAdmin():
@staticmethod
def writeData(a):
f=open('data.txt','w')
f.write(str(a))
f.close()
@staticmethod
def readData():
f=open('data.txt','r')
a=eval(f.read())
print(a)
f.close()
StudentAdmin.writeData(a)
StudentAdmin.readData()
while True:
caozuo=int(input("----------\n增 请输入1\n删 请输入2\n改 请输入3\n查 请输入4\n关机 请输入0\n----------\n请输入操作:"))
if caozuo==1:
stuNum=input('请输入学号')
jishu=0
while jishu<len(a):
if stuNum==a[jishu]['num']:
print('该学号已经存在')
break
jishu+=1
else:
zd={}
zd['name']=input('姓名')
zd['age']=int(input('年龄'))
zd['address']=input('地址')
zd['num']=stuNum
a.append(zd)
print(a)
elif caozuo==2:
stuNum=input('请输入学号')
jishu=0
while jishu<len(a):
if stuNum==a[jishu]['num']:
del a[jishu]
break
jishu+=1
else:
print('不存在这个学号')
elif caozuo==3:
stuNum=input('请输入学号')
jishu=0
while jishu<len(a):
if stuNum==a[jishu]['num']:
a[jishu]['name']=input('姓名')
a[jishu]['age']=input('年龄')
a[jishu]['address']=input('地址')
break
jishu+=1
else:
print('不存在这个学号')
elif caozuo==4:
stuNum = input('请输入学号')
jishu = 0
while jishu < len(a):
if stuNum == a[jishu]['num']:
print(a[jishu])
break
jishu+=1
else:
print('不存在这个学号')
elif caozuo==0:
print("---关机,byebye了你呢")
exit(0)
else:
print('请按提示,输入操作对应数字')
Python基础----字典与文件读写操作的综合应用
猜你喜欢
转载自blog.csdn.net/zyf0111/article/details/88560920
今日推荐
周排行