1.

1.作业

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

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

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

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

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

6,写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表 7,写函数,此函数只接收一个参数且此参数必须是列表数据类型,此函数完成的功能是返回给调用者一个字典,此字典的键值对为此列表的索引及对应的元素。例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}。 8,写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中。 9,对第9题升级:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。 10,写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(升级题)。
11,写一个函数完成三次登陆功能:(升级题,两天做完)
(1)用户的用户名密码从一个文件register中取出。
(2)register文件包含多个用户名,密码,用户名密码通过|隔开,每个人的用户名密码占用文件中一行。
(3)完成三次验证,三次验证不成功则登录失败,登录失败返回False。
(4)登陆成功返回True。
12,再写一个函数完成注册功能:(升级题,两天做完)
(1)用户输入用户名密码注册。
(2)注册时要验证(文件regsiter中)用户名是否存在,如果存在则让其重新输入用户名,如果不存在,则注册成功。
(3)注册成功后,将注册成功的用户名,密码写入regsiter文件,并以 | 隔开。
(4)注册成功后,返回True,否则返回False。

2.

2.默写

①,return的作用。
②,传参的几种方法,每个都简单写一个代码。
如,实参,按位置传参。
def func(x,y):
Pass
func(‘a’,’b’)

答案

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

def func(lis):
return lis[1::2]

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

def func(x):
return len(x) > 5

3. 写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

def func(lis):
if len(lis) > 2:
return lis[:2]
但是切片有一个特性,多了不报错,所以可以这样写
def func(lis):
return lis[:2]

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

def func(s):      # 'fsadsad432 edfd@#$'
num = 0 # 计算数字的个数
alpha = 0 # 字母
space = 0 # 空格
other = 0 # 其他 for i in s:
if i.isdigit():
num += 1
elif i.isalpha():
alpha += 1
elif i.isspace():
space += 1
else:
other += 1
return num,alpha,space,other print(func('fsadsad432 edfd@#$')) #结果
#(3, 11, 1, 3) 但是这样有个问题,就是没人知道你传回来的是什么,如果需要知道传回来的是什么,需要看源代码。所以最好要用字典。
def func(s): # 'fsadsad432 edfd@#$'
dic = {'num':0,'alpha':0,'space':0,'other':0} for i in s:
if i.isdigit():
dic['num'] += 1
elif i.isalpha():
dic['alpha'] += 1
elif i.isspace():
dic['space'] += 1
else:
dic['other'] += 1
return dic print(func('fsadsad432 edfd@#$')) #结果
#{'alpha': 11, 'num': 3, 'other': 3, 'space': 1}

5. 写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容,并返回结果。

# 'sdsad sad a' 对于字符串来说,元素为空内容表示为空格
# [1,2,3,4,'',[],()] 对于列表和元组来说,空内容表示''或[]或() def func(x):
if type(x) is str and x: #参数是字符串,并且字符串不为空
for i in x:
if i==' ':
return True
elif x and type(x) is list or type(x) is tuple:
for i in x:
if not i:
return True
elif not x: #表示字符串或者列表元组本身就为空,也算空
return True #这种情况下,不需要最后的else,因为内容中没有空内容的话,默认return None,相当于False

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

# dic = {'k1':'v1v1','k2':[11,22,33,44]}
# PS:字典中的value只能是字符串或列表 def func(dic):
for k in dic.values():
pass
#一般不这么写,因为正常情况下,vlaue里面的值很大,有可能是嵌套的列表或者字典,如果直接取values,比较浪费内存。 def func(dic):
for k in dic:
if len(dic[k]) > 2:
dic[k] = dic[k][:2] return dic dic = {"k1":"v1v1","k2":[11,22,33,44]}
print(func(dic))

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

def func(a,b):
return a if a > b else b

8. 写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(进阶)。

def func(filename, old, new):
with open(filename, encoding="utf-8") as f, open("%s.bak" % filename, "w", encoding="utf-8") as f2:
for line in f:
if old in line:
line = line.replace(old, new)
# 写文件
f2.write(line) import os
os.remove(filename) # 删除文件
os.rename("%s.bak" % filename, filename) # 重命名文件

9. 写一个函数完成三次登陆功能,再写一个函数完成注册功能

username = "yangxiaoer"
password = ""
i = 3
while i > 0:
zh = input("请输入你的账号:")
i -= 1
if zh == username:
mm = input("请输入你的密码:")
if mm == password:
print("验证成功.正在登陆......")
print('''恭喜你登陆成功!
欢迎用户进入
用户名 :%s
密码 :%s
'''%(zh,mm))
break
else:
if i == 0:
print("你的机会已经没了!game over 下次见!")
answer = input('再试试?Y or N')
if answer == 'Y':
i = 3
print("密码错误,请重新输入")
print("你还有"+str(i)+"次机会")
else:
print("请输入正确的用户名!")
if i == 0:
print("你的机会已经没了!")
answer = input('再试试?Y or N')
if answer == 'Y':
i = 3
print("你还有" + str(i) + "次机会")
else:
print('你TM要不要脸')

Python练习_初识函数_day9的更多相关文章

  1. python之路——初识函数

    阅读目录 为什么要用函数 函数的定义与调用 函数的返回值 函数的参数 本章小结 返回顶部 为什么要用函数 现在python届发生了一个大事件,len方法突然不能直接用了... 然后现在有一个需求,让你 ...

  2. python基础之 初识函数&函数进阶

    函数基础部分 1.什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 2.定义函数 定义:def 关键词开头,空格之后接函数名 ...

  3. python成长之路第三篇(1)_初识函数

    目录: 函数 为什么要使用函数 什么是函数 函数的返回值 文档化函数 函数传参数 文件操作(二) 1.文件操作的步骤 2.文件的内置方法 函数: 一.为什么要使用函数 在日常写代码中,我们会发现有很多 ...

  4. Python之路【第五篇】python基础 之初识函数(一)和文件管理

    转载请注明出处http://www.cnblogs.com/wupeiqi/articles/5453708.html 函数 一.背景                                 ...

  5. Python进阶-I 初识函数(function)

    函数 在java中叫方法. 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print() ...

  6. python note 09 初识函数

    1.函数 def my_len(): #自定义函数(相当于len) i = 0 for k in s: i += 1 print(i) print(my_len()) #输出None,因为没有返回值 ...

  7. python之路--初识函数

    一 . 函数 什么是函数 f(x) = x + 1 y = x + 1 # 函数是对功能或者动作的封装 函数的语法 def 函数名(): 函数体 调用: 函数名() def play(): print ...

  8. python记录_day09 初识函数

    一.认识函数 函数:对动作或者功能的封装 格式: 函数声明     def  函数名(): 函数体 函数调用     函数名() #定义函数 def xiao(): print("你的笑像一 ...

  9. 【学习笔记】--- 老男孩学Python,day10, 初识函数 形参、实参

    函数:对功能的封装语法: def 函数名(形参): 函数体 函数名(实参) 函数名:命名规则和变量一样 函数的返回值: return, 函数执行完毕. 不会执行后面逻辑 1. 如果函数中不写retur ...

随机推荐

  1. Tosca database help link

    https://support.tricentis.com/community/manuals_detail.do?lang=en&version=12.0.0&url=tosca_b ...

  2. LoadRunne遇到的一些问题FAQ(持续更新...)

    1.LR11破解完成,添加License失败,报错License security violation Loadrunner11破解成功后,用deletelicense.exe工具把License全删 ...

  3. 利用pathMeasure实现路径动画

    package com.loaderman.customviewdemo; import android.animation.ValueAnimator; import android.content ...

  4. 解决kali无法连接网络问题

    键入 ifconfig -a 查看网卡 ,是否存在 键入 leafpad /etc/network/interfaces 查看其中是否有如下语句,没有添加上即可:auto eth0iface eth0 ...

  5. 解决 MYSQL CPU 占用 100% 的经验总结

    朋友主机(Windows 2003 + IIS + PHP + MYSQL )近来 MySQL 服务进程 (mysqld-nt.exe) CPU 占用率总为 100% 高居不下.此主机有10个左右的 ...

  6. DN创建

    1. 参考采购订单创建DN : BAPI_OUTB_DELIVERY_CREATE_STO FUNCTION zmmfm0202. *"--------------------------- ...

  7. python 类型注解

    函数定义的弊端 python 是动态语言,变量随时可以被赋值,且能赋值为不同类型 python 不是静态编译型语言,变量类型是在运行器决定的 动态语言很灵活,但是这种特性也是弊端 def add(x, ...

  8. jQuery BlockUI Plugin Demo 4(Element Blocking Examples)

    Element Blocking Examples This page demonstrates how to block selected elements on the page rather t ...

  9. 【Leetcode_easy】687. Longest Univalue Path

    problem 687. Longest Univalue Path 参考 1. Leetcode_easy_687. Longest Univalue Path; 2. Grandyang; 完

  10. 925. Long Pressed Name

    题目链接:https://leetcode.com/problems/long-pressed-name/description/ Example 1: Input: name = "ale ...