python 的基础 学习 11天 作业题
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天 作业题的更多相关文章
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- Python入门基础学习 一
Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...
- python函数基础学习
函数的定义与调用: def 函数名(参数1,参数2): ‘’’函数注释’’’ print(‘函数体’) return 返回值 定 义:def关键字开关,空格之后接函数名和圆括号,最后冒号结尾 def ...
- Python入门基础学习(文件与异常处理)
Python基础学习笔记(七) 捕获异常的语法格式: 文件的基本操作: 打开文件 读.写文件 关闭文件 read方法 --读取文件: open函数的第一个参数是要打开的文件名(文件名区分大小写) 如果 ...
- Python入门基础学习(时间模块,随机模块)
Python基础学习笔记(六) time模块: 时间的三种表示方法: 1.格式化字符串 2.时间戳 用来表示和1970年的时间间隔,单位为s 3.元组 struct_time 9个元素 time的st ...
- Python入门基础学习(模块,包)
Python基础学习笔记(五) 模块的概念:模块是python程序架构的一个核心概念 每个以拓展名py结尾的python源代码文件都是一个模块 模块名同样也是一个标识符,需要符合标识符的命名规则 在模 ...
- Python入门基础学习(面向对象)
Python基础学习笔记(四) 面向对象的三个基本特征: 封装:把客观事物抽象并封装成对象,即将属性,方法和事件等集合在一个整体内 继承:允许使用现有类的功能并在无须重新改写原来的类情况下,对这些功能 ...
- Python入门基础学习(函数)
Python基础学习笔记(三) 函数的概念: 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用 函数的使用包含两个步骤: 1.定义函数 --封装独立的功能 2.调用函数 --享受 ...
随机推荐
- Luogu P3966 [TJOI2013]单词
题目链接 \(Click\) \(Here\) 本题\(AC\)自动机写法的正解之一是\(Fail\)树上跑\(DP\). \(AC\)自动机是\(Trie\)树和\(Fail\)树共存的结构,前者可 ...
- 跨域、curl、snoopy、file_get_contents()
定义:可以称为”信息采集/模拟登录”技术,可以实现对某个地址做请求,同时按照要求传递get或post参数. curl本身是php的一个扩展,同时也是一个利用URL语法规定来传输文件和数据的工具,支持很 ...
- ubuntu下cmake编译opencv 3.4.3源码;
在进行编译前,准备工作: 1) 到opencv官网下载源码(https://opencv.org/releases.html): 2) 安装qt(http://download.qt.io/); ...
- qml: QtCharts模块得使用(数据整合和显示) ---- <二>
QtCharts目前已经可以免费使用,而且使用非常方便.快捷,并且提供了各种类别的支持(例如:曲线图,柱形图,折线图,饼图等). 这里讲解qml端图表显示,C++端进行数据整合,并能实现实时数据刷新( ...
- synchronized和volatile的区别
但是volatile不适合做计数器使用,即使他具有可见性,但是它不具有原子性.不能保证数据的一致性. 但是volatile适合哪种场景呢? 比较适合做一些标示.比如说两个线程,线程B必须得等线程A执行 ...
- CSS3 vmax的用法
1. calc() calc():在流体布局上,可以通过calc()计算得到元素的宽度. 2. vw/vh/vmin/vmax的使用 vw/vh/vmin/vmax是视窗单位,也是相对单位.相对的不是 ...
- Accord.NET Framework 介绍
阅读目录 1.基本功能与介绍 Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET ...
- bzoj千题计划319:bzoj2865: 字符串识别(后缀自动机 + 线段树)
https://www.lydsy.com/JudgeOnline/problem.php?id=2865 同上一篇博客 就是卡卡空间,数组改成map #include<map> #inc ...
- HDU 1016(素数环 深搜)
题意是说对一个长度为 n 的数环进行排列,使得相邻两数的和为素数,按从小到大的顺序依次输出. 因为是环,所以总能调整成以 1 为序列首输出.用深度优先搜索的方法即可.在判断素数时由于 n 小于 20, ...
- Native APP ,Web APP,Hybrid APP三者对比
Native APP Native APP 指的是原生程序(Android.iOS.WP),一般依托于操作系统,有很强的交互,可拓展性强,需要用户下载安装使用,是一个完整的App. 原生应用程序是某一 ...