# 练习题
# 1、整理函数相关知识点,画思维导图,写博客
# 2、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
'''
def func1(argv):
for i in range(len(argv)):
l1=[]
if i % 2 ==1:
l1.append(argv[i])
return l1
ret=func1(["wusir","taibai","alex","meng"])
print(ret)
def func2(argv):
return list(argv[1::2])
ret=func2(("d","alex","meng"))
print(ret)
'''
# 3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
'''
方法一、
def max5(argv):
if len(argv)> 5 :
return "大于5"
else:
return "小于5"
rect =max5("dddddddafadf")
print(rect)
#方法二、
def func(b):
return len(b) >5
a = input("请输入您传入的对象:")
print(func(a))
'''
# 4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
'''
def func1(argvs):
if len(argvs)>2:
return argvs[0:2]
else:return argvs
rect = func1([1,])
print(rect)
'''
# 5、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数,并返回结果。
'''
content = input("请输入字符串:")
def func(argv):
dic={"数字":0,"字母":0,"空格",0,"其他":0 }
for i in argv:
if i.isdigit():
dic["数字"] +=1
elif i.isalpha():
dic["字母"] +=1
elif i.sp
else:dic["其他"] +=1
return "数字个数为%s,字母个数为:%s"
func()
'''
# 6、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容,并返回结果。
'''
def func(b):
if isinstance(b,str) or isinstance(b,list) or isinstance(b,tuple):
for i in b :
i = str(i)
if i.isspace():
return True
return
li=[1,2,3,45,6,76,3]
print(func(li))
'''
'''
# 7、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
# PS:字典中的value只能是字符串或列表
def func(a):
for keys,values in dic.items():
if len(values) >2:
dic1[keys]=values[0:2]
else:
dic1[keys] = values
return dic1
dic1={}
print(func(dic))
''
# 8、写函数,接收两个数字参数,返回比较大的那个数字。
''
def mx(a,b):
if a>b :
return a
else:
return b
i=4
j=5
print(max(i,j))
'''
# 9、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(进阶)。
'''
import os
def func(path,old_content,new_content,*args,**kwargs):
with open(path,encoding="utf-8")as f1,\
open(path+".bak","w",encoding="utf-8")as f2:
for line in f1 :
new_line = line.replace(old_content,new_content)
f2.write(new_line)
os.remove(path)
os.rename(path+".bak",path)
path =input("请领导输入文件名")
old =input("请领导输入要修改的内容:")
new = input("请领导输入修改后的内容:")
func(path,old,new)
import os
def func(path,old_content, new_content,*args,**kwargs):
with open(path,encoding="utf-8") as f1,\
open(path+".bak","w",encoding="utf-8") as f2:
for line in f1:
new_line = line.replace(old_content,new_content)
f2.write(new_content)
os.remove(path)
os.rename(path+".bak",path)
path =input("请领导输入文件名:")
old =input("请输入要修改的内容")
new = input("请输入修改后的内容")
#文件路径, “sb”,“alex”
func(path,old,new)
'''
# 10、写一个函数完成三次登陆功能,再写一个函数完成注册功能
# 默写:今天学到的函数的传参方式。
def func2():
name = input("请输入你注册账号:")
password = input("请输入你的密码")
dic = ("注册账号{0},密码{1}").format(name, password)
return dic
print(func2())
def func1():
count = 1
while count < 4:
name = input("请输入账号:")
word = input("请输入密码")
if name == "xue" and word == "12":
return ("成功")
else:
print ("失败")
count += 1
name = input("请输入账号:")
word = input("请输入密码")
print(func1(name,word))