百万年薪python之路 -- 函数初始练习
1.整理函数相关知识点
2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def func(lst):
lst = lst[1::2]
return lst
传列表
lst = [1,2,3,4,5,6,7,8,9]
f = func(lst)
print(f)
传元组
tu = (1,2,3,4,5,6,7,8,9)
f = func(tu)
print(f)
3.写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def my_len(s):
count = 0
for i in s:
count += 1
return count
s = "dasd"
lst = [1,2,3,4]
tu = ("ada",1,'sda')
a = my_len(s)
b = my_len(lst)
c = my_len(tu)
print(a)
print(b)
print(c)
4.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def check(lst):
if len(lst) > 2:
lst = lst[:2]
return lst
lst = [1,2,3,4]
a = check(lst)
print(a)
5.写函数,计算传入函数的字符串中,[数字]、[字母] 以及 [其他]的个数,并返回结果。
def num(s):
int_count = 0
alpha_count = 0
qt_count = 0
for i in s:
if i.isdecimal():
int_count += 1
elif i.isalpha():
alpha_count += 1
else:
qt_count += 1
return int_count,alpha_count,qt_count
s = "1564dasihd,;',.在"
a,b,c = num(s)
print(f"数字{a}个,字母{b}个,其他{c}个")
6.写函数,接收两个数字参数,返回比较大的那个数字。
def max(a,b):
if a > b:
pass
else:
a,b =b,a
return a
print(max(456,1223))
7.写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
def check(dic):
for k in dic.keys():
if len(dic[k]) > 2:
dic[k] = dic[k][0:2]
return dic
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
print(check(dic))
8.写函数,此函数只接收一个参数这个参数必须是列表数据类型,此函数完成的功能是返回给调用者一个字典,此字典的键值对为列表的索引及对应的元素。例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}。
def list_dict(lst):
if type(lst) == list:
dic = {}
count = 0
for i in lst:
dic[count] = i
count += 1
else:
dic = "这不是列表"
return dic
lst = [11,22,33]
print(list_dict(lst))
9.写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中。
def func(name,sex,age,xl):
with open("student_msg","a",encoding="UTF-8") as f:
f.write(name+" "+sex+" "+age+" "+xl+"\n")
name = input("请输入姓名:")
sex = input("请输入性别:")
age = input("请输入年龄:")
xl = input("请输入学历:")
func(name,sex,age,xl)
10.对第9题升级:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。
def func(name,age,xl,sex="男"):
with open("student_msg","a",encoding="UTF-8") as f:
f.write(name+" "+sex+" "+age+" "+xl+"\n")
while 1:
name = input("请输入姓名(退出请按q/Q):")
if name.upper() == "Q":
break
sex = input("请输入性别:")
age = input("请输入年龄:")
xl = input("请输入学历:")
if not sex.strip():
func(name,age,xl)
else:
func(name,age,xl,sex)
百万年薪python之路 -- 函数初始练习的更多相关文章
- 百万年薪python之路 -- 函数初始
1.函数 1.1 认识函数 定义一个事情或者是功能,等到需要的时候直接去用就好了.那么这里定义东西就是一个函数 函数:对代码块和功能的封装和定义 函数的好处: 减少代码的重复性 代码可读性高 将功能进 ...
- 百万年薪python之路 -- 数据库初始
一. 数据库初始 1. 为什么要有数据库? 先来一个场景: 假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住十一期间全国的购票需求,你怎么写? 由于在同一时 ...
- 百万年薪python之路 -- 面向对象初始
面向对象初始 1.1 面向过程编程vs函数式编程 函数编程较之面向过程编程最明显的两个特点: 1,减少代码的重用性. 2,增强代码的可读性. 1.2 函数式编程vs面向对象编程 面向对象编程:是一类相 ...
- 百万年薪python之路 -- 函数的动态参数
1.函数的动态参数 1.1 动态接收位置参数 在参数位置用*表示接受任意参数 def eat(*args): print('我想吃',args) eat('蒸羊羔','蒸熊掌','蒸鹿尾儿','烧花鸭 ...
- 百万年薪python之路 -- 函数名的第一类对象及使用
函数名是一个变量, 但它是一个特殊的变量, 与括号配合可以执行函数的变量 1.1.函数名的内存地址 def func(): print("呵呵") print(func) 结果: ...
- 百万年薪python之路 -- 函数的动态参数练习
1.继续整理函数相关知识点. 2.写函数,接收n个数字,求这些参数数字的和.(动态传参) def func(*args,**kwargs): num_sum = 0 num_dic = [] num ...
- 百万年薪python之路 -- 生成器
1.生成器 #本质就是迭代器 1.1 生成器的构建方式 在python中有三种方式来创建生成器: 1.通过生成器函数 2.通过生成器推导式 3.python内置函数或者模块提供 1.2 生 ...
- 百万年薪python之路 -- 内置函数二 -- 最常用的内置函数
1.内置函数 1.1 匿名函数 匿名函数,顾名思义就是没有名字的函数(其实是有名字的,就叫lambda),那么什么函数没有名字呢?这个就是我们以后面试或者工作中经常用匿名函数 lambda,也叫一句话 ...
- 百万年薪python之路 -- 内置函数练习
1.整理今天笔记,课上代码最少敲3遍. 2.用列表推导式做下列小题 过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母 lst = [["a","b"],[ ...
随机推荐
- (七十四)c#Winform自定义控件-金字塔图表
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...
- 转:sqlserver 存储毫秒23:59:59.999变成第二天00:00:00.000
因为,在SQL SERVER中DATETIME表示的时间为00:00:00到23:59:59.997,它的时间精度为1/300秒,在使用时会舍入到舍入到 .000..003 或 .007 秒三个增量. ...
- opencv图像处理之常见滤波器
图像平滑 Smoothing, also called blurring, is a simple and frequently used image processing operation. 平滑 ...
- mysql uuid使用
java中可以使用UUID类来生成uuid,使用mysql也可以使用UUID函数来获取uuid,如 select UUID(); 也可以对查询的结果做一些处理,比如说将"-"替换成 ...
- 无法导入要素类到SDE中
我遇到的原因的表空间不足(并且表空间没有设置为自动增长) 首先通过SELECT FILE_NAME, TABLESPACE_NAME, AUTOEXTENSIBLE FROM DBA_DATA_FIL ...
- JVM(五)回收机制
1.对象的引用 JDK1.2之后,对象的引用分为了四种情况 强引用:Object obj = new Object():只要强引用还在,垃圾回收器就永远不会收集被引用的对象. 软引用:So ...
- Spring Boot (十一): Spring Boot 定时任务
在实际的项目开发工作中,我们经常会遇到需要做一些定时任务的工作,那么,在 Spring Boot 中是如何实现的呢? 1. 添加依赖 在 pom.xml 文件中只需引入 spring-boot-sta ...
- node.js操作数据库之MongoDB+mongoose篇
前言 node.js的出现,使得用前端语法(javascript)开发后台服务成为可能,越来越多的前端因此因此接触后端,甚至转向全栈发展.后端开发少不了数据库的操作.MongoDB是一个基于分布式文件 ...
- 用哈希算法的思想解决排序和字符串去重问题,时间复杂度为O(N)
第一个题目: int a[] = {12,13,12,13,19,18,15,12,15,16,17},要求对数组a进行排序,要求时间复杂度为O(N) 我们所知道的常规排序中,最优的解法也就是O(N* ...
- Hadoop-2.7.3-本地模式安装-wordcount例子
准备虚拟机:linux-rhel-7.4-server,由于不使用虚拟机进行联网,所以选择host-only网络模式.此处,需要再VitralBox的管理菜单中的主机网络管理器新建一个虚拟网卡.安装完 ...