python面试题&练习题之函数
1.写函数,接收两个数字参数,返回最大值
例如:
传入:10,20
返回:20
def res_max(number1,number2):
l1 = []
l1.append(number1)
l1.append(number2)
return max(l1)
2.写函数,获取传入列表的所有奇数位索引对应的元素,并将其作为新列表返回。
例如:传入:[34,23,52,352,352,3523,5],返回:[23,352,3523]
def getnewlist(mylist):
list1=[];
for i in range(0,len(mylist)):
if i%2!=0:
list1.append(mylist[i])
return list1
3.写函数,判断用户传入的对象(列表)长度是否大于5,如果大于5,那么仅保留前五个长度的内容并返回。不大于5返回本身。
例如:
传入1:[34,23,52,352,666,3523,5] 返回1:[34,23,52,352,666]
传入2:[34,23,52] 返回2:[34,23,52]
def judge_len(list1):
if len(list1)>5:
return list1[0:5]
elif len(list1)<=5:
return list1
4.写函数,检查传入的字符串是否含有空字符串,返回结果,包含空字符串返回True,不包含返回False
例如:
传入:"hello world"
返回:True
def str_spack(string):
if string.find(' '):
return True
else:
return False
5.定义一个函数,实现两个数四则运算,要注意有3个参数,分别是运算符和两个运算的数字.
例如:传入:10,*,20返回:200
def arithmetic(number1, number2, symbol):
if symbol == '+':
s = number1 + number2
elif symbol == '-':
s = number1 - number2
elif symbol == '*':
s = number1 * number2
elif symbol == '/':
s = number1 / number2
return s
方法二:
def getresult(num1,fh,num2):
str1=str(num1)+fh+str(num2)
return eval(str1)
print(getresult(10,'*',20))
6..实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。
要求1:使用一个list用于保存学生的姓名。
要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit代表退出学生管理系统。每一个功能定义一个自定义函数。界面如下:
系统界面如下:
-----------------------欢迎进入T666班学生管理系统-----------------------------
请选择系统功能:
0:显示所有学员信息
1:添加一个学员信息
2:删除一个学员信息
3:修改一个学员信息
4:查询一个学员信息
exit:退出学生管理系统
(0)输入0后效果如下:
0
["郭易","汤碗珍"..]
(1)输入1后效果如下:
1
请输入增加人的姓名:张三
["郭易","汤碗珍",'张三'..]
(2)输入2后效果如下:
2
请输入删除人的姓名:张三
["郭易","汤碗珍"..]
(3)输入3后效果如下:<注意:如果list中没有这个学员则打印:T666班没有这个学员>
3
请输入需要修改人的姓名:张三
请输入需要修改后的姓名:李四
["郭易","汤碗珍",'李四'..]
4)输入4后效果如下:<注意:如果list中没有这个学员则打印:T666班没有这个学员>
请输入查询人的姓名:张三
郭易在座位号(3<下标>)的位置。
(5)输入exit后效果如下:
exit
欢迎使用T666的学生管理系统,下次再见。
def student_management_system():
st1="""
-----------------------欢迎进入T666班学生管理系统-----------------------------
请选择系统功能:
0:显示所有学员信息
1:添加一个学员信息
2:删除一个学员信息
3:修改一个学员信息
4:查询一个学员信息
exit:退出学生管理系统
"""
option = input(st1)
if option == '':
show_student()
elif option == '':
add_student()
elif option == '':
del_student()
elif option == '':
revise_student()
elif option == '':
query_student()
elif option == 'exit':
quit() def show_student():
print(liste) def add_student():
username = input('请输入增加人的姓名:张三')
liste.append(username)
print(liste) def del_student():
liste.append('张三')
username = input('请输入删除人的姓名:张三')
liste.remove(username)
print(liste) def revise_student():
liste.append('张三')
username1 = input('请输入需要修改人的姓名:张三')
username2 = input('请输入需要修改后的姓名:李四')
if username1 not in liste:
print('T666班没有这个学员')
for i in liste:
if i == username1:
liste[liste.index(username1)] = username2
print(liste) def query_student():
liste.append('张三')
username1 = input('请输入查询人的姓名:张三')
if username1 not in liste:
print('T666班没有这个学员')
print(liste[::-1]) def quit():
print('欢迎使用T666的学生管理系统,下次再见。') 方法二:用类改写
class StudentManagementSystem:
list1 = ["郭易", "汤碗珍"]
str1 = '''
-----------------------欢迎进入T666班学生管理系统-----------------------------
请选择系统功能:
0:显示所有学员信息
1:添加一个学员信息
2:删除一个学员信息
3:修改一个学员信息
4:查询一个学员信息
exit:退出学生管理系统
''' def __init__(self):
print(self.str1) def input_option(self, option,student = None,student1 = None):
try:
if option == 0:
return self.get_student()
elif option == 1:
return self.add_student(student)
elif option == 2:
return self.del_student(student)
elif option == 3:
return self.modify_student(student,student1)
elif option == 4:
return self.select_student(student)
elif option == 'exit':
return self.quit()
except:
print('输入选项错误') def get_student(self): # 输入0
return self.list1 def add_student(self, student): # 输入1
user = student
self.list1.append(user)
return self.list1 def del_student(self, student): # 输入2
self.list1.append('张三')
user1 = student
if user1 in self.list1:
self.list1.remove(user1)
else:
print('T666班没有这个学员')
return self.list1 def modify_student(self, student1,student2): # 输入3
self.list1.append('张三')
user2 = student1
user3 = student2
if user2 in self.list1:
for i in self.list1:
if i == user2:
self.list1[self.list1.index(user2)]=user3
else:
print('T666班没有这个学员')
return self.list1 def select_student(self,student): #输入4
self.list1.append('张三')
user4 = student
if user4 in self.list1:
for i in self.list1:
if i == user4:
return self.list1[self.list1.index(i)]
else:
print('T666班没有这个学员') def quit(self):
print('欢迎使用T666的学生管理系统,下次再见。')
python面试题&练习题之函数的更多相关文章
- Python面试题之回调函数
0x00 概述 编程分为两类:系统编程(system programming)和应用编程(application programming).所谓系统编程,简单来说,就是编写库:而应用编程就是利用写好的 ...
- Python面试题之Super函数
这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简单说, super函数是调用下一个父类(超类)并返回该父类实例的方法. 这里的下一 ...
- python面试题&练习题之嵌套循环
1.打印如下结果: 1*5=5 2*10=20 3*15=45 ... 10*50=500 for i in range(1,11): print(str(i)+'x'+str((i*5))+'='+ ...
- python面试题&练习题之运算符与if控制
1.任意的输入10个数字,按从大到小排序 l2 = [] for i in range(1,11): num = input('输入第{}个数字'.format(i)) if num.isdigit( ...
- python 练习题:请利用Python内置的hex()函数把一个整数转换成十六进制表示的字符串
# -*- coding: utf-8 -*- # 请利用Python内置的hex()函数把一个整数转换成十六进制表示的字符串 n1 = 255 n2 = 1000 print(hex(n1)) pr ...
- 百道Python面试题实现,搞定Python编程就靠它
对于一般的机器学习求职者而言,最基础的就是掌握 Python 编程技巧,随后才是相关算法或知识点的掌握.在这篇文章中,我们将介绍一个 Python 练习题项目,它从算法练习题到机试实战题提供了众多问题 ...
- python公司面试题集锦 python面试题大全
问题一:以下的代码的输出将是什么? 说出你的答案并解释. class Parent(object): x = 1 class Child1(Parent): pass class Child2(Par ...
- Python面试题汇总
原文:http://blog.csdn.net/jerry_1126/article/details/44023949 拿网络上关于Python的面试题汇总了,给出了自认为合理的答案,有些题目不错,可 ...
- Python基础面试,看这篇文章画重点吧,Python面试题No1
为什么有这个系列的文章 一直想写一些更加基础的文章,但是总是想不到好的点子,最近到了就业季,一大堆学生面临就业了,正好,从Python的面试题出发,分析和解答一些常见的面试题,并且总结一些文字. 每一 ...
随机推荐
- python读取word中的段落、表、图+++++++++++Doc转换Docx
读取文本.图.表.解压信息 import docx import zipfile import os import shutil '''读取word中的文本''' def gettxt(): file ...
- 本周使用angular7所遇到的一些问题
前言 本周在使用angular7所遇到的一些问题,学习是不断的循序渐进的过程,在本周完成对应的工作后,也要抽出一些时间用来学习,比较我们公司10点上班,我一般9点就会到,在这一个小时内看看博客,写写笔 ...
- C#调用摄像头(AForge)实现扫描条码解析(Zxing)功能
网上找了很多代码,都比较零散,以下代码纯自己手写,经过测试.下面有链接,下载后可以直接使用. 介绍: 自动识别:点击Start按钮会调用PC摄像头,代码内置Timer,会每100毫秒识别一下当前摄像头 ...
- 034 通过域名访问服务器或本地的图片资源---switchhost+nginx
1.修改host解析 2.使用Nginx代理,实现域名访问 进入Nginx的安装路径E:\toolsoftware\nginx-1.14.0\nginx-1.14.0\conf,修改 添加如下内容: ...
- (一)将mockjs集成到VUE中后,怎样根据接口入参返回mock结果
1)安装mockjs,这一步跳过 2)在项目中建立mock模块,笔者的目录结构如下 mock模块与接口模块一一对应,有一个接口,就有一个mock 3)编写登陆模块mock接口,代码如下: import ...
- c#十进制转换
1.方法定义 /// <summary> /// 十进制转换 /// </summary> /// <param name="hexChar"> ...
- org.springframework.stereotype
org.springframework.stereotype 1.@controller 控制器(注入服务) 2.@service 服务(注入dao) 3.@repository dao(实现dao访 ...
- Spring Boot 框架下使用MyBatis访问数据库之基于XML配置的方式
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...
- spark源码阅读--shuffle读过程源码分析
shuffle读过程源码分析 上一篇中,我们分析了shuffle在map阶段的写过程.简单回顾一下,主要是将ShuffleMapTask计算的结果数据在内存中按照分区和key进行排序,过程中由于内存限 ...
- Matlab享元模式
享元模式(Flyweight)通过共享技术实现相同或相似对象的重用,可以减少创建对象的数量,以减少内存占用和提高性能.Java String的常量池,python logging,线程池,数据库连接池 ...