zoukankan      html  css  js  c++  java
  • 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 == '0':
            show_student()
        elif option == '1':
            add_student()
        elif option == '2':
            del_student()
        elif option == '3':
            revise_student()
        elif option == '4':
            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的学生管理系统,下次再见。')
     
  • 相关阅读:
    LeetCode 515. 在每个树行中找最大值(Find Largest Value in Each Tree Row)
    LeetCode 114. 二叉树展开为链表(Flatten Binary Tree to Linked List)
    LeetCode 199. 二叉树的右视图(Binary Tree Right Side View)
    LeetCode 1022. 从根到叶的二进制数之和(Sum of Root To Leaf Binary Numbers)
    LeetCode 897. 递增顺序查找树(Increasing Order Search Tree)
    LeetCode 617. 合并二叉树(Merge Two Binary Trees)
    LeetCode 206. 反转链表(Reverse Linked List) 16
    LeetCode 104. 二叉树的最大深度(Maximum Depth of Binary Tree)
    LeetCode 110. 平衡二叉树(Balanced Binary Tree) 15
    LeetCode 108. 将有序数组转换为二叉搜索树(Convert Sorted Array to Binary Search Tree) 14
  • 原文地址:https://www.cnblogs.com/puti306/p/12080526.html
Copyright © 2011-2022 走看看