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

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

def func1(argv):
li = []
for i in range(len(argv)):#循环取奇数
if i %2 == 1:
li.append(argv[i])
return li
print(func1([1,2,3,4]))
def func(argv):return  argv[1::2]#切片方法
print(func([1,2,3,4]))

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

def func(argv):
if len(argv) > 5:
return True
else:return False
print(func('sjfjkskjf'))
def func(argv):
return True if len(argv) > 5 else False
print(func('jsajdjsaka'))
def func(argv):
return len(argv) > 5
print(func('adajjadj'))

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

def func(argv):
li = []
if len(argv) > 2:
li = argv[:2]
else:
li = argv
return li
print(func([2,4,4,3,2]))
def func(argv):
return argv[:2] if len(argv) > 2 else argv
print(func([1,3,4,5]))
def func(argv):
return argv[:2]
print(func([1,2,3,4]))

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

def func(argv):
dic = {'digit':0,'alpha':0,'space':0,'other':0}
for i in argv:
if i.isdigit():
dic['digit'] += 1
elif i.isalpha():
dic['alpha'] += 1
elif i.isspace():
dic['space'] += 1
else:
dic['other'] += 1
return '数字%d,字母%d,空格%d,其他%d'%(dic['digit'],dic['alpha'],dic['space'],dic['other'])
print(func('ajdj2384234 大家安静**&&'))

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

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

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

def func(argv):
for i in argv:
if len(argv[i]) > 2:
argv[i] = argv[i][:2]
return argv
print(func({"k1": "v1v1", "k2": [11,22,33,44]}))
def func(argv):
for i in argv:
argv[i] = argv[i][:2]
return argv
print(func({"k1": "v1v1", "k2": [11,22,33,44]}))

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

def func(a,b):
if a>b:
return a
else:
return b
print(func(11,33))
def func(a,b):
z=a if a>b else b
return z
print(func(22,444))
def max_min(a,b):
return a if a>b else b
print(max_min(444,55))

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

import os
def File_modification(path,old,new):
with open(path,encoding='utf-8')as f1,\
open(path+'.bak',encoding='utf-8',mode='w') as f2:
for i in f1:
new_i = i.replace(old,new)
f2.write(new_i)
os.remove(path)
os.rename(path+'.bak',path)
return True
print(File_modification('a.txt','alex','SB'))

10、写一个函数完成三次登陆功能,再写一个函数完成注册功能(进阶)

def register():
while True:
flag = True
username = input('请输入用户名:')
with open('register_msg',encoding='utf-8')as f1:
for i in f1:
li = i.strip().split()
if username == li[0] or username == ' ':
print('用户名已存在,请重新输入')
break
else:
password = input('请输入密码:')
with open('register_msg',encoding='utf-8',mode='a')as f2:
f2.write('\n{}\t{}'.format(username,password))
print('注册成功')
return login() def login():
i = 0
while i <3:
i += 1
username = input('请输入用户名:')
password = input('请输入密码:')
with open('register_msg',encoding='utf-8') as f2:
for line in f2:
line = line.strip()
line_list = line.split(' ')
if username == line_list[0] and password == line_list[1]:
return True def func1(*args,**kwargs):
print('欢迎登录')
flag = True
while flag:
choice = input('1,登录,2,注册,Q,退出')
if choice == '':
is_login = login()
if is_login:
print('登录成功')
else:
print('登录失败')
flag = False
if choice == "":
register()
flag = False
elif choice == 'Q':
exit('bye')
flag = False func1()

python 的基础 学习 11天 作业题的更多相关文章

  1. Python入门基础学习 三

    Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...

  2. Python入门基础学习 二

    Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...

  3. Python入门基础学习 一

    Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...

  4. python函数基础学习

    函数的定义与调用: def 函数名(参数1,参数2): ‘’’函数注释’’’ print(‘函数体’) return 返回值 定  义:def关键字开关,空格之后接函数名和圆括号,最后冒号结尾 def ...

  5. Python入门基础学习(文件与异常处理)

    Python基础学习笔记(七) 捕获异常的语法格式: 文件的基本操作: 打开文件 读.写文件 关闭文件 read方法 --读取文件: open函数的第一个参数是要打开的文件名(文件名区分大小写) 如果 ...

  6. Python入门基础学习(时间模块,随机模块)

    Python基础学习笔记(六) time模块: 时间的三种表示方法: 1.格式化字符串 2.时间戳 用来表示和1970年的时间间隔,单位为s 3.元组 struct_time 9个元素 time的st ...

  7. Python入门基础学习(模块,包)

    Python基础学习笔记(五) 模块的概念:模块是python程序架构的一个核心概念 每个以拓展名py结尾的python源代码文件都是一个模块 模块名同样也是一个标识符,需要符合标识符的命名规则 在模 ...

  8. Python入门基础学习(面向对象)

    Python基础学习笔记(四) 面向对象的三个基本特征: 封装:把客观事物抽象并封装成对象,即将属性,方法和事件等集合在一个整体内 继承:允许使用现有类的功能并在无须重新改写原来的类情况下,对这些功能 ...

  9. Python入门基础学习(函数)

    Python基础学习笔记(三) 函数的概念: 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用 函数的使用包含两个步骤: 1.定义函数 --封装独立的功能 2.调用函数 --享受 ...

随机推荐

  1. A1108. Finding Average

    The basic task is simple: given N real numbers, you are supposed to calculate their average. But wha ...

  2. java面试——jvm

    背景:用来总结java面试过程中与jvm相关的问题. 垃圾回收以及优化总结 <JVM 垃圾回收器工作原理及使用实例介绍> 介绍常用的垃圾回收算法,垃圾收集器,垃圾收集器相关的调试参数. J ...

  3. rm刷机 root

    http://www.miui.com/download-290.html http://www.miui.com/shuaji-329.html    小米稳定版 不可以root 只有升级到上面的开 ...

  4. 漫谈php框架之中间件

    市面上常见的php框架有很多,最近因为有技术需求,所以对常见的php框架的中间件进行了一些了解.各个框架尽管在目标上对php框架的定义大同小异,但是在实现方式上却各有不同,且看下文: 定义 首先什么是 ...

  5. mysql视图、触发事务、存储过程

    视图 视图是一个虚拟表(非真实存在的),其本质就是根据SQL语言获取动态的数据集,并为其命名,用户使用时只需要使用名称即可获得结果集,可以将结果集当做表来使用. 视图是存在数据库中的,如果我们程序中使 ...

  6. 2019你该掌握的开源日志管理平台ELK STACK

    转载于https://www.vtlab.io/?p=217   在企业级开源日志管理平台ELK VS GRAYLOG一文中,我简单阐述了日志管理平台对技术人员的重要性,并把ELK Stack和Gra ...

  7. 兄弟连Linux运维学习笔记

    最新经典linux运维兄弟连Linux运维学习笔记... --------------- 全程1.5倍播放.加油我一定可以学完Linux----------------------Unix与Linux ...

  8. windows wmi

    官网:https://msdn.microsoft.com/en-us/library/aa394132(v=vs.85).aspx WMI使用的WIN32_类库名:http://blog.csdn. ...

  9. Hadoop HDFS常用操作命令

    hadoop常用命令:hadoop fs查看Hadoop HDFS支持的所有命令 hadoop fs –ls列出目录及文件信息 hadoop fs –lsr循环列出目录.子目录及文件信息 hadoop ...

  10. Java中的Dom4j

    上一篇讲了Java中如何操作XML,现在介绍一个更厉害的方法,Dom4j ,百度查一下就知道,这个更强,更快,更简单. 自己下载jar包导入工具,下面来讲一个例子,我事先准备了一个XML文件,如下: ...