作业:
1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
def count_str(x):
#计算字符串中字符种类个数的函数
sum1=0
sum2=0
sum3=0
sum4=0
for i in x:
if i.isdigit():
sum1+=1
elif i.isalpha():
sum2+=1
elif i.isspace():
sum3+=1
else:
sum4+=1
s={‘数字‘:sum1,‘字母‘:sum2,‘空格‘:sum3,‘其他‘:sum4}
print(s)
count_str(‘asd asd1234!@$SAd weq‘)
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def c_list(x):
print(len(x))
if len(x)>2:
return x[0:2]
res=c_list([1,2,3,4,5])
print(res)
5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def c_count(x):
print(len(x))
j=0
s=[]
while j<len(x):
if j%2!=0:
s.append(x[j])
j+=1
print(s)
return s
c_count((1,2,3,4,5,6,7))
6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
def c_new(x):
for item in x:
print(item,len(x[item]))
if len(x[item])>2:
x[item]=x[item][0:2]
print(x)
return x
c_new({"k1": "v1v1", "k2": [11,22,33,44]})
二、有以下员工信息表
当然此表你在文件存储时可以这样表示
1,Alex Li,
22
,
13651054608
,IT,
2013
-
04
-
01
注意:以上需求,要充分使用函数,请尽你的最大限度来减少重复代码!
这个真是太难了!!只写了一个查询
sql = input(‘please input sql>>:‘).strip().split()
h=sql[1].split(‘,‘)
l=[]
with open(‘db.txt‘, ‘r+‘, encoding=‘utf-8‘)as f1:
a = f1.readline().strip(‘\n‘).split(‘,‘)
if h[0] != ‘*‘:
print(h)
for line in f1:
b = line.strip(‘\n‘).split(‘,‘)
# print(b)
c = 0
dic = {}
while c < len(a):
dic.update({a[c]: b[c]})
c += 1
# dic={a[0]:b[0],a[1]:b[1],a[2]:b[2],a[3]:b[3],a[4]:b[4],a[5]:b[5]}
# print(a)
# print(dic)
d = 0
if sql[6] is ‘>‘:
if dic[sql[5]] > sql[7]:
while d < len(h):
l.append(dic[h[d]])
# print(dic[h[d]],end=‘‘)
d += 1
print(l)
l.clear()
elif sql[6] is ‘=‘:
if dic[sql[5]] == sql[7]:
while d < len(h):
l.append(dic[h[d]])
# print(dic[h[d]], end=‘‘)
d += 1
print(l)
l.clear()
elif sql[6] == ‘like‘:
e=sql[7].strip(‘"‘).strip("‘")
# print(e)
if e in dic[sql[5]] :
while d < len(h):
l.append(dic[h[d]])
# print(dic[h[d]], end=‘‘)
d += 1
print(l)
l.clear()
# print(l)
elif h[0] == ‘*‘:
print(a)
for line in f1:
b = line.strip(‘\n‘).split(‘,‘)
# print(b)
c = 0
dic = {}
while c < len(a):
dic.update({a[c]: b[c]})
c += 1
# dic={a[0]:b[0],a[1]:b[1],a[2]:b[2],a[3]:b[3],a[4]:b[4],a[5]:b[5]}
# print(a)
# print(dic)
d = 0
if sql[6] is ‘>‘:
if dic[sql[5]] > sql[7]:
while d < len(dic):
l.append(b[d])
# print(b[d],end=‘‘)
d += 1
print(l)
l.clear()
elif sql[6] is ‘=‘:
if dic[sql[5]] == sql[7]:
while d < len(dic):
l.append(b[d])
# print(b[d], end=‘‘)
d += 1
print(l)
l.clear()
elif sql[6] == ‘like‘:
e = sql[7].strip(‘"‘).strip("‘")
# print(e)
if e in dic[sql[5]] :
while d < len(dic):
l.append(b[d])
# print(b[d], end=‘‘)
d += 1
print(l)
l.clear()
原文:https://www.cnblogs.com/super-xfj/p/10074230.html