• day9.初始函数练习题


      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 a
    109 
    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('{}	{}	{}	{} 
    '.format(name,sex,age,xueli))
    119         print('追击成功')
    120         return
    121 
    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('{}		{}		{}		{} 
    '.format(name,age,xueli,sex))
    133         print('追击成功')
    134         return
    135 
    136     while True:
    137         na = input('输入名字:')
    138         if na.strip().lower() == 'q':
    139             break
    140         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 os
    158         os.remove(file)
    159         os.rename(file2,file)
    160         return
    161     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 = 0
    171         while count < 3:
    172             username = input('请输入用户名:')
    173             password = input('请输入密码:')
    174             if username.strip() == 'jiu' and password.strip() == '123456':
    175                 print('登陆成功')
    176                 break
    177             else:
    178                 last = 2 - count
    179                 print('用户或密码名错误,剩余次数',last)
    180                 count += 1
    181 
    182     def register():
    183         username = input('请输入注册的用户名:')
    184         password = input('请输入要注册的密码:')
    185         with open('user_msg',mode='a',encoding='utf-8') as f1:
    186             f1.write('{}:{} 
    '.format(username,password))
    187         print('注册成功用户名和密码为:'+ username+password)
  • 相关阅读:
    doraemon的python 函数(整理了下笔记)感觉自己棒棒哒
    Mybatis系列教材 (七)- 动态SQL
    Mybatis系列教材 (六)- 基础
    Mybatis系列教材 (五)- 基础
    Mybatis系列教材 (四)- 基础
    Mybatis系列教材 (三)- 基础
    Mybatis系列教材 (二)- 基础
    Mybatis系列教材 (一)- 入门教程
    SSH系列教材 (七)- 整合-注解方式
    SSH系列教材 (六)- 使用注解方式配置事务管理
  • 原文地址:https://www.cnblogs.com/jiuyachun/p/10411188.html
Copyright © 2020-2023  润新知