博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day9.初始函数练习题
阅读量:5132 次
发布时间:2019-06-13

本文共 5445 字,大约阅读时间需要 18 分钟。

1 1.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。  2     def new(args):  3         a = []  4         for I in range(1,len(args),2):  5             a.append(args[I])              ### return args[0::2]  6         return a    7   8     ret = new([10,11,12,13,14,15,16])  9     print(ret)   10  11 2.写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。 12  13     def five(args): 14         if len(args) > 5: 15             return 'yes' 16         else: 17             return 'no' 18  19     ret = five('世上只有') 20     print(ret) 21  22 3.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。 23         def two(args): 24         a = [] 25         if len(args) > 2:            ### return args[0:2] 26             for I in range(2): 27                 a.append(args[I]) 28         else: 29             a.append(args) 30         return a 31  32         ret = two([1,2,3]) 33         print(ret) 34  35 4.写函数,计算传入函数的字符串中,[数字]、[字母]、[空格] 以及 [其他]的个数,并返回结果 36     def jisuan(args): 37         shuzi = 0 38         alpha = 0 39         space = 0 40         qita = 0 41         for I in args: 42             if I.isdigit(): 43                 shuzi += 1 44             elif I.isalpha(): 45                 alpha += 1 46             elif I.isspace(): 47                 space += 1 48             else: 49                 qita += 1 50         return shuzi,alpha,space,qita 51  52     ret = jisuan("12345 ") 53     print(ret) 54  55  56     ### 利用字典方法来解决: 57  58     abc = "sa vw,vwv.avvv" 59     dic = {
'digit':0,'alpha':0,'space':0,'qita':0} 60 for I in abc: 61 if I.isdigit(): 62 dic['digit'] += 1 63 elif I.isalpha(): 64 dic['alpha'] += 1 65 elif I.isspace(): 66 dic['space'] += 1 67 else: 68 dic['qita'] += 1 69 print(dic) 70 71 5.写函数,接收两个数字参数,返回比较大的那个数字。 72 73 def bijiao(num1,num2): 74 return max(num1,num2) 75 num = input('请输入两个数字,逗号隔开:').split(',') 76 ret = bijiao(num[0],num[1]) 77 print(ret) 78 79 6.写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。 80 dic = {“k1”: “v1v1”, “k2”: [11,22,33,44]} 81 PS:字典中的value只能是字符串或列表 82 83 def two(args): 84 for k,v in args.items(): 85 if len(v) > 2: 86 args[k] = args[k][0:2] 87 return args 88 ret = two({
'k1': 'v1v1', 'k2': [11, 22, 33, 44]}) 89 print(ret) 90 91 用字典的方法解决: 92 93 # dic = {'k1': 'v1v1', 'k2': [11, 22, 33, 44]} 94 # for k,v in dic.items(): 95 # if len(v) > 2: 96 # dic[k] = dic[k][0:2] 97 # print(dic) 98 99 100 7.写函数,此函数只接收一个参数且此参数必须是列表数据类型,101 此函数完成的功能是返回给调用者一个字典,此字典的键值对为此列表的索引及对应的元素。102 例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}。103 104 def fan(args):105 a = {}106 for i in range(len(args)):107 a[i] = args[i]108 return a109 110 ret = fan([11,22,33])111 print(ret)112 113 8.写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。114 用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中。115 116 def inp(name,sex,age,xueli):117 f = open('student_msg',mode='a',encoding='utf-8')118 f.write('{}\t{}\t{}\t{} \n'.format(name,sex,age,xueli))119 print('追击成功')120 return121 122 na = input('输入名字:')123 se = input('输入性别:')124 ag = input('输入年龄:')125 xe = input('输入学历:')126 inp(na,se,ag,xe)127 128 9.对第9题升级:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。129 130 def inp(name,age,xueli,sex = '男'):131 f = open('student_msg',mode='a',encoding='utf-8')132 f.write('{}\t\t{}\t\t{}\t\t{} \n'.format(name,age,xueli,sex))133 print('追击成功')134 return135 136 while True:137 na = input('输入名字:')138 if na.strip().lower() == 'q':139 break140 else:141 ag = input('输入年龄:')142 xe = input('输入学历:')143 se = input('输入性别:')144 if se == '女':145 inp(na,ag,xe,se)146 else:147 inp(na,ag,xe)148 149 10.写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(升级题)。150 151 def xiu(file,file2,qian,hou):152 with open(file,mode='r+',encoding='utf-8') as f1,open(file2,mode='w',encoding='utf-8') as f2:153 for line in f1:154 if qian in line:155 line = line.replace(qian,hou)156 f2.write(line)157 import os158 os.remove(file)159 os.rename(file2,file)160 return161 file1 = input('请输入你要修改的文件带地址:')162 file2 = input('请随意输入一个文件名,重复即可:')163 name1 = input('请输入你要替换的关键字:')164 name2 = input('请输入你想要替换的关键字:')165 xiu(file1,file2,name1,name2) 166 167 11.写一个函数完成三次登陆功能,再写一个函数完成注册功能(升级题)168 169 def login():170 count = 0171 while count < 3:172 username = input('请输入用户名:')173 password = input('请输入密码:')174 if username.strip() == 'jiu' and password.strip() == '123456':175 print('登陆成功')176 break177 else:178 last = 2 - count179 print('用户或密码名错误,剩余次数',last)180 count += 1181 182 def register():183 username = input('请输入注册的用户名:')184 password = input('请输入要注册的密码:')185 with open('user_msg',mode='a',encoding='utf-8') as f1:186 f1.write('{}:{} \n'.format(username,password))187 print('注册成功用户名和密码为:'+ username+password)

 

转载于:https://www.cnblogs.com/jiuyachun/p/10411188.html

你可能感兴趣的文章
JAVA开发环境搭建
查看>>
Visual Studio基于CMake配置opencv1.0.0、opencv2.2
查看>>
SDN第四次作业
查看>>
django迁移数据库错误
查看>>
Data truncation: Out of range value for column 'Quality' at row 1
查看>>
字符串处理
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
ad logon hour
查看>>
罗马数字与阿拉伯数字转换
查看>>
Eclipse 反编译之 JadClipse
查看>>
距离公式汇总以及Python实现
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
java SE :标准输入/输出
查看>>
[ JAVA编程 ] double类型计算精度丢失问题及解决方法
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>