1、函数,计算传入字符串的个数
def getLen(s): if isinstance(s,str): #判断数据类型的内置函数 args1: 数据 args2:数据类型 return len(s) else: return '类型错误' num = getLen('sdfdsf sdf') print(num) #输出为10
2、函数,判断用户传入的字符串、列表、元组长度是否大于5
def getLen2(args): if isinstance(args,(str,list,tuple)): if len(args) > 5: print('传入的对象长度大于5') else: print('传入的对象长度小于5') else: print('类型有误') getLen2(['a','b',1,2]) #输出为传入的对象长度小于5
3、写入不定个数的字符串拼接第一个和最后一个字符串
def getStr(*args): print(type(args)) #输出为<class 'tuple'> 元组类型 return args[0]+args[-1] print(getStr('1','2','3')) #输出为13
4、传入多个参数,以list返回
def getList(*args): #li=[i for i in args] #列表推导式 li = [] for i in args: li.append(i) return li list01 = getList(1,2,3,4,5) print(list01) #输出为[1, 2, 3, 4, 5]
5、定义一个函数,输入不定个数的数字,返回所有数字的和
def getSum(*args): x = 0 for i in args: x+=i return x num = getSum(1,2,3,4,5) print(num) #输出为15
6、实现阶乘的运算
def jiecen(n): if n == 1: return 1 else: return n*jiecen(n-1) print(jiecen(5)) #输出为120
7、ATM机——假设设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码(pakaword),最多只能输入3次,超过3次见提示用户“密码错误,请取卡”结束交易;如果用户密码正确,再提示用户输入金额(amount),ATM机只能输出100元的纸币,一次取钱数要求最低0元,最高1000元;如果用户输入的金额符合上述要求,则打印出用户取的钱数;最后提示用户“交易完成,请取卡”,否则提示用户重新输入金额;假设用户密码是“888888”
#1、登录验证 def login(passwd): pwd = '888888' if passwd == pwd: return True else: return False #2、金额验证 def checkMoney(money): if money.isdigit(): if int(money) % 100 ==0 and 0<= int(money) <=1000: return True else: return False else: return False #业务逻辑写到主程序当中 def main(): over = 0 #取钱完成时用于退出循环 #1.登录验证 for i in range(3): if over == 1: break passwd = input('请输入密码:') if login(passwd): # 2.金额验证 while True: money= input('请输入金额:') if checkMoney(money) : print('成功取出%s元'%money) over=1 break else: print('输入的金额有误!请重新输入') # 3.交易完成 print('交易完成') else: if i == 2: print('您连续三次密码有误,账号已冻结!') break print('密码有误') main()