Day9作业及默写
1,整理函数相关知识点,写博客。
2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def func(obj):
return obj[1::2]
3,写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def func(obj):
return len(obj)>5:
4,写函数,检查传入列表的长度,如果大于2,将列表的前两项内容返回给调用者。
def func(lst):
if len(lst) > 2:
return lst[:2]
5,写函数,计算传入函数的字符串中, 数字、字母、空格 以及其他内容的个数,并返回结果。
def func(str):
num = 0
alpha = 0
space = 0
other = 0
for i in str:
if i.isalpha():
alpha+=1
elif i.isdigit():
num+=1
elif i == ' ':
space+=1
else:
other+=1
return num,alpha,space,other
6,写函数,接收两个数字参数,返回比较大的那个数字。
def func(x,y):
return x if x>y else y
7,写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
def func(dic):
for key in dic:
if len(dic[key]) > 2:
dic[key]=dic[key][:2]
return dic
8,写函数,此函数只接收一个参数且此参数必须是列表数据类型,此函数完成的功能是返回给调用者一个字典,此字典的键值对为此列表的索引及对应的元素。例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}。
lst = [11,22,33]
def func(lst):
if type(lst) != list:
print('异常')
dic = dict()
for num,key in enumerate(lst):
dic[num]=key
return dic
print(func(lst))
9,写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中。
def func(name,gender,age,edu):
with open('student_msg',w) as f:
f.write(name+'_'+gender+'_'+age+'_'+edu+'\n')
name = input('Name:').strip()
gender = input('Gender:').strip()
age = input('Age:').strip()
edu = input('Edu:').strip()
func(name,gender,age,edu)
10,对第9题升级:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。
def func(name,gender,age,edu):
with open('student_msg',w) as f:
f.write(name+'_'+gender+'_'+age+'_'+edu+'\n')
while True:
Action = input('是否要退出').upper()
if Action == 'Q':break
name = input('Name:').strip()
gender = input('Gender:').strip()
gender = '男' if gender == '' else '女'
age = input('Age:').strip()
edu = input('Edu:').strip()
func(name,gender,age,edu)
11,写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(升级题)。
import os
def func(filename,old,new):
with open(filename,'r') as f1, \
open(filename+'_tmp','w') as f2:
for line in f1:
line = line.replace(old,new)
f2.write(line)
os.rename(filename+'_tmp',filename)
12,写一个函数完成三次登陆功能,再写一个函数完成注册功能(升级题)
def regist(username,password):
with open('user_info','r') as f:
for line in f:
if line == '': continue
user_info_username = line.split('_')[0]
if username == user_info_username:
return False
else:
f.write(username+'_'+password+'\n')
reutnr True
name ,password = input('Username').strip(),input('Password').strip()
regist(name,password)
def login(username,password):
with open('user_info','r') as f:
for line in f:
if line.strip() == username+'_'+password
return True
else:
return False
for i in range(2:-1:-1):
ret = login(input('Username,'),input('Password:'))
if ret:
print('登陆成功')
else:
print('用户名或密码错误,还有%s次机会'%i)
明日默写。
①,return的作用。
②,传参的几种方法,每个都简单写一个代码。
如,实参,按位置传参。
def func(x,y):
Pass
func(‘a’,’b’)
Day9作业及默写的更多相关文章
- Day29作业及默写
作业: 1\ 默写 黏包协议 2\ 上传大文件(文件\视频\图片) 3\ 和你的同桌调通 从你的计算机上传一个视频到你同桌的电脑上 4\ 进阶 : 带上登录 Server #Server #!/usr ...
- Day20作业及默写
1.请使用C3算法计算出链接图中的继承顺序-Link 一 graph BT id1[A]-->id2[B] id2[B]-->id6[F] id6[F]-->id7[G] id1[A ...
- Day11作业及默写
1.写函数,传入n个数,返回字典{'max':最大值,'min':最小值} 例如:min_max(2,5,7,8,4) 返回:{'max':8,'min':2}(此题用到max(),min()内置函数 ...
- Day10作业及默写
1,继续整理函数相关知识点,写博客. 2,写函数,接收n个数字,求这些参数数字的和.(动态传参) def func(*number): sum=0 for num in number: sum+=nu ...
- Day14作业及默写
1.整理今天所学内容,整理知识点,整理博客. pass 2.画好流程图. pass 3.都完成的做一下作业(下面题都是用内置函数或者和匿名函数结合做出): pass 4.用map来处理字符串列表,把列 ...
- Day13作业及默写
1. 整理今天的博客,写课上代码,整理流程图. 博客链接--博客园 2. 写一个函数完成三次登陆功能: 用户的用户名密码从一个文件register中取出. register文件包含多个用户名,密码,用 ...
- Day8作业及默写
1,有如下文件,a1.txt,里面的内容为: 老男孩是最好的培训机构, 全心全意为学生服务, 只为学生未来,不为牟利. 我说的都是真的.哈哈 分别完成以下的功能: 将原文件全部读出来并打印. with ...
- Day7作业及默写
1. 判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数. 例如: 153 = 1**3 + 5**3 + 3**3 InputNu ...
- Day6作业及默写
1.使⽤循环打印以下效果: 1: * ** *** **** ***** for num in range(1,6): print('*' * num) 2: ***** **** *** ** * ...
随机推荐
- 百度基础架构组-实习生面试(2016.08 java后台开发)
一.项目 1.Spring MVC与Struts2的区别: 2.MVC三层是如何工作的?比如:要访问一个Url?a=xx&b=xx,怎么找到相应的资源,怎么运算,怎么返回等? 3.数据库myb ...
- loj#2353. 「NOI2007」 货币兑换 斜率优化
题意略 题解:可以列出dp方程\(dp[i]=max(dp[j]*{\frac{a[i]*c[j]+b[i]}{a[j]*c[j]+b[j]}}\),化简可以得到\(\frac{dp[i]}{b[i] ...
- 提高Bash使用效率的方法
环境:centos6.5 1.移动 Ctrl + a :移到命令行首Ctrl + e :移到命令行尾 Ctrl + xx:在命令行首和光标之间移动 左右键移动字符 Ctrl+左右键移动单词(不记快捷键 ...
- Caused by: java.io.FileNotFoundException: class path resource [spring/springmvc.xml] cannot be opene
Caused by: java.io.FileNotFoundException: class path resource [spring/springmvc. ...
- 【九校联考-24凉心模拟】锻造(forging)
题目背景 勇者虽然武力值很高,但在经历了多次战斗后,发现怪物越来越难打, 于是开始思考是不是自己平时锻炼没到位,于是苦练一个月后发现……自 己连一个史莱姆都打不过了. 勇者的精灵路由器告诉勇者其实是他 ...
- SSL证书读取
证书内容: MIIDhDCCAmygAwIBAgIFAV0Imw0wDQYJKoZIhvcNAQELBQAwXDEnMCUGA1UEAwweczUwLTYyLTEzNS0xNS5zZWN1cmVzZX ...
- VCG(VisualCodeGrepper)安装使用教程
一.说明 代码审计工具看来还是比较难做,一是开源的代码审计工具少,二是原本的一些开源审计工具很多都不更新甚至不能使用了. VCG支持审计C++.Java.C#.PHP和VB,但其“审计”基本相当于函数 ...
- ffmpeg录制流媒体,正常方式停止录制
QProcess m_Process; m_Process.setProcessChannelMode(QProcess::MergedChannels); //拼接命令行字符串 QString cm ...
- WordDenified.exportedUI
<mso:cmd app="Word" dt="1" /><mso:customUI xmlns:x1="xuzaAzWord&qu ...
- tp框架 php ajax 登陆
html 文件 <form class="form-signin loginform" role="form"> <input type=&q ...