1.day9题目

1,整理函数相关知识点,写博客。

2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

3,写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。

4,写函数,检查传入列表的长度,如果大于2,将列表的前两项内容返回给调用者。

5,写函数,计算传入函数的字符串中, 数字、字母、空格 以及 其他内容的个数,并返回结果。

6,写函数,接收两个数字参数,返回比较大的那个数字。

7,写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留value前两个长度的内容,并将新内容返回给调用者。

dic = {"k1": "v1v1", "k2": [11,22,33,44]}

PS:字典中的value只能是字符串或列表

8,写函数,此函数只接收一个参数且此参数必须是列表数据类型,此函数完成的功能是返回给调用者一个字典,此字典的键值对为此列表的索引及对应的元素。例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}。

9,写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中。

10,对第9题升级:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。

11,写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(升级题)。

12,写一个函数完成三次登陆功能,再写一个函数完成注册功能(升级题)

注册:

1.要从文件中读取用户名和密码,匹配用户输入的用户名和文件中的用户名是否存在,如果存在,提示重新输入。

2.如果上面的判断没有问题,把用户名和密码写入到文件中。

2.题目详解

点击查看详细内容

2.
lst = [1,2,9,4,'a','b','c']
def get_lst(x):
n_lst = []
for i in range(len(x)):
if i%2 ==0:
n_lst.append(x[i])
return n_lst
ret = get_lst(lst)
print(ret) def get_len(x):

return len(x) > 5

print(get_len('123451')) def ret_lst(x):

if len(x)>2:

return x[:2]

else:

return '列表长度小于2'

lst = [133,2,1,23]

ret = ret_lst(lst)

print(ret) def get_sum(x):

num = 0

pha = 0

space = 0

other = 0

for i in x:

if i.isdigit():

num +=1

elif i.isalpha():

pha +=1

elif i.isspace():

space +=1

else:

other +=1

return '''

数字:%d

字母:%d

空格:%d

其他:%d

''' %(num,pha,space,other)

ret = get_sum('123asdfA &*')

print(ret) def i_num(a,b):

return a if a > b else b ret = i_num(21,11)

print(ret) dic1 = {"k1": "v1v1", "k2": [11,22,33,44]}

def i_dic(dic):

new_dic = {}

for k,v in dic.items():

if len(v)>2:

s = v[0:2] #保留的值内容

new_dic[k] = s

else:

new_dic[k] = v

return new_dic

print(i_dic(dic1)) def r_dic(l):

if type(l) == list:

dic = {}

for i in range(len(l)):

dic[i] = l[i]

return dic

else:

return '输入数据不是列表'

lst = [12,22,32]

ret = r_dic(lst)

print(ret) def i_msg(name,gender,age,edu):

with open('student_msg','a+',encoding='utf-8') as f:

f.write("%s_%s_%d_%s\n"%(name,gender,age,edu)) name = input("输入姓名:")

gender = input("输入性别:")

age = int(input("输入年龄:"))

edu = input("输入学历:")

i_msg(name,gender,age,edu) def i_msg(name,age,edu,gender='男'):

with open('student_msg','a+',encoding='utf-8') as f:

f.write("%s_%s_%d_%s\n"%(name,gender,age,edu))

while 1:

content = input("是否录入学生信息(输入q/Q退出):")

if content.upper() == 'Q':

break

else:

name = input("输入姓名:")

gender = input("输入性别:")

age = int(input("输入年龄:"))

edu = input("输入学历:")

if gender == "":

i_msg(name,age,edu)

else:

i_msg(name,age,edu,gender) import os

def r_file(filename,old,new):

with open(filename,'r',encoding='utf-8') as f1,

open(filename+'副本','w',encoding='utf-8') as f2:

for i in f1:

i = i.replace(old,new)

f2.write(i)

os.remove(filename)

os.rename(filename+'副本',filename)

r_file('test1.txt','123','321') 12.注意:文件的账户密码分隔符最好选一个用户用不到的

def enrol():

while 1:

username = input("注册用户名:").strip()

password = input("注册密码:").strip()

with open('user.txt','r+',encoding='utf-8') as f:

for i in f: #byh&&123

lst = i.strip().split('&&')

if username == lst[0]:

print('注册用户已存在,请重新输入')

break

elif username == '' or password== '':

print('注册用户或密码不能为空,请重新输入')

break

else:

f.write('\n'+username+'&&'+password)

break

return "注册成功" def login():

count = 0

while count < 3:

i_username = input("登陆用户名:").strip()

i_password = input('登陆密码:').strip()

with open('user.txt','r',encoding='utf-8') as f:

for i in f:

lst = i.strip().split('&&')

if i_username == lst[0] and i_password == lst[1]:

return "登陆成功"

else:

count += 1

print('密码错误,可尝试次数【%s】'%(3-count))

return "登陆失败" def choose():

while 1:

ch = input("选择服务(1.注册/2.登陆/按q退出):")

if ch == "1":

print(enrol())

break

elif ch == "2":

print(login())

break

elif ch.upper() == 'Q':

break

else:

print("请输入正确的选项") choose()

day9函数作业详解的更多相关文章

  1. day10函数作业详解

    1.day10题目 2,写函数,接收n个数字,求这些参数数字的和.(动态传参) 3,读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么? a=10 b=20 def test5(a,b): ...

  2. day14内置函数作业详解

    day14题目 day14作业及默写 1,整理今天所学内容,整理知识点,整理博客. 2,画好流程图. 3,都完成的做一下作业(下面题都是用内置函数或者和匿名函数结合做出): 4,用map来处理字符串列 ...

  3. delphi中Application.MessageBox函数用法详解

    delphi中Application.MessageBox函数用法详解 Application.MessageBox是TApplication的成员函数,声明如下:functionTApplicati ...

  4. day22作业详解

    1.面向对象作业1 2.作业详解 点击查看详细内容 #1. class Li(object): def func1(self): print('in func1') obj = Li() obj.fu ...

  5. 自写函数VB6 STUFF函数 和 VB.net 2010 STUFF函数 详解

    '*************************************************************************'**模 块 名:自写函数VB6 STUFF函数 和 ...

  6. SQL Server数据库ROW_NUMBER()函数使用详解

    SQL Server数据库ROW_NUMBER()函数使用详解 摘自:http://database.51cto.com/art/201108/283399.htm SQL Server数据库ROW_ ...

  7. PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明

    PHP函数篇详解十进制.二进制.八进制和十六进制转换函数说明 作者: 字体:[增加 减小] 类型:转载   中文字符编码研究系列第一期,PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明 ...

  8. PHP date函数参数详解

    PHP date函数参数详解 作者: 字体:[增加 减小] 类型:转载       time()在PHP中是得到一个数字,这个数字表示从1970-01-01到现在共走了多少秒,很奇怪吧 不过这样方便计 ...

  9. SQL中CONVERT()函数用法详解

    SQL中CONVERT函数格式: CONVERT(data_type,expression[,style]) 参数说明: expression 是任何有效的 Microsoft® SQL Server ...

随机推荐

  1. loj#2269. 「SDOI2017」切树游戏

    还是loj的机子快啊... 普通的DP不难想到,设F[i][zt]为带上根玩出zt的方案数,G[i][zt]为子树中的方案数,后面是可以用FWT优化的 主要是复习了下动态DP #include< ...

  2. wordpress,cos-html-cache静态化后,点击数失效问题的解决方案

    装了wordpress cos-html-cache 静态插件后,生成了静态文件,post-views等点击数插件就失效了, 找了一些,包括有个js版本的,需要用到post-views插件,我也不想装 ...

  3. iOS审核总被拒?腾讯教你提升iOS审核通过率!

    作者:Jamie,腾讯开发工程师,在iOS预审和ASO优化领域从事专项测试相关工作,为腾讯游戏近100个产品提供专项服务. 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest ...

  4. Smarty模板重点汇总

    Smarty模板重点回顾:1.功能:前后端分离:2.实现方法:通过使用Smarty的核心类来实现,利用display方法来读取模板文 件,用正则进行替换,替换完保存到临时文件,再将临时文件加载到当前页 ...

  5. 【boost】ptree 读写中文的问题

    最经项目中使用到了boost property_tree,却在中文问题上遇到大问题. 直接使用ptree读写存储于窄字符(如string)类型的中文字符串时,程序可以运行,但由于XML默认使用UTF- ...

  6. windows下搭建绿色nodejs运行环境

    无意中在网上看到NodeJS的文章,发现最近还挺火的,正好我也是做技术的,那就下载个玩玩呗,试试它的魅力,也来亲自感受下. 网上nodejs的环境的搭建到处都是,我这里就不说了,今天我想通过我自己的环 ...

  7. 闪回之 Flashback Query (dml表、过程、函数、包等)、Flashback version Query

    Flashback Query 背景:Flashback 是 ORACLE 自 9i 就开始提供的一项特性,在 9i 中利用oracle 查询多版本一致的特点,实现从回滚段中读取表一定时间内操作过的数 ...

  8. AtCoder Regular Contest 068E:Snuke Line

    题目传送门:https://arc068.contest.atcoder.jp/tasks/arc068_c 题目翻译 直线上有\(0-m\)这\(m+1\)个点,一共有\(m\)辆火车.第\(i\) ...

  9. bzoj 4319 Suffix reconstruction —— 贪心构造

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4319 思维还是不行...这样的构造都没思路... 首先,我们可以按 rank 的顺序从小到大 ...

  10. SPOJ CIRU SPOJ VCIRCLE 圆的面积并问题

    SPOJ VCIRCLE SPOJ CIRU 两道题都是给出若干圆 就面积并,数据规模和精度要求不同. 求圆面积并有两种常见的方法,一种是Simpson积分,另一种是几何法. 在这里给出几何方法. P ...