• 运算


    1、用户登录,验证,注册

    def login(a,b):
        """
        用于用户名和密码的验证
        :param a: 用户名
        :param b: 密码
        :return:Ture  用户验证成功   False  用户验证失败
        """
        c=open("334.txt","r",encoding="utf-8")
        for line in c:
            line=line.strip()          #默认strip无参数用于去除换行符和空格
            new_line=line.split("*")    #有参数,移除两端指定的值
            if new_line[0]==a and new_line[1]==b:
                return True
        return False
    
    def yanzheng(a):
        """
        用于验证用户名是否存在
        :param a: 用户名
        :return: True  用户名存在
        """
        c=open("334.txt","r",encoding="utf-8")
        for line in c:
            line=line.strip()          #默认strip无参数用于去除换行符和空格
            new_line=line.split("*")    #有参数,移除两端指定的值
            if new_line[0] ==a:
                return True
    
    def zhuche(a,b):
        """
        用于用户注册
        :param a: 用户名
        :param b: 密码
        :return: True   注册成功
        """
        c = open("334.txt", "a", encoding="utf-8")
        temp="
    "+ f1 + "*" + f2
        c.write(temp)
        return True
    
    def min():
        print("欢迎登录英雄联盟官网")
        m=input("登录:1;注册:2")
        if m=="1":
            f1=input("请输入用户名:")
            f2=input("请输入密码:")
            f3 = login(f1, f2)
            if f3:
                print("登录成功")
            else:
                print("登录失败")
        elif m=="2":
            f1=input("请输入用户名:")
            f2=input("请输入密码:")
            f4=yanzheng(f1)
            if f4:
                print("用户名已存在")
            else:
                f5=zhuche(f1,f2)
                if f5:
                    print("恭喜注册成功")
    
    min()
    

     2、冒泡排序

    冒泡排序是排序中经典排序之一,它利用相邻元素比较并进行位置的互换...

    思路:相邻两个值进行比较,将较大的值放在右侧,依次比较!

    li = [22, 4, 77, 44, 6, 99, 100, 3]
    for j in range(1,len(li)):        #多循环几次把顺序排出来
        for i in range(len(li)-1):   #减1是因为最后一位不能比了
    #        print(li[i])            先利用索引把li中元素循环出来
            if li[i]>li[i+1]:       #比较相邻俩数的大小
                temp=li[i]          #利用第三个数把大小不同的俩数位置互换
                li[i]=li[i+1]
                li[i+1]=temp
    #    print(li)                   这样只能把最大的数挑出来
    print(li)
    

    3、递归

    程序本身自己调用自己称之为递归,递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回

    def f4():
        def f3():                         #f4函数中包括f3函数
            def f2():                     #f3函数中包括f2函数
                def f1():                 #f2函数中包括f1函数
                    return "qqqq"         #f1函数的返回值"qqq"
                return f1()
            return f2()
        return f3()
    m=f4()
    print(m)    
    

     斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368

    def f1(a1,a2):
        print(a1)
        a3=a1+a2
        f1(a2,a3)
    f1(0,1)
    

     4、装饰器

    定义:   装饰器用于装饰某个函数,可以让函数在执行前或执行后执行某些操作

    @outer:   1、执行outer函数,并将其下面的函数名赋值给outer的参数

           2、将outer的返回值重新赋值给f1

    def outer(func):
        def inner():
            print("222")
            print("222")
            r=func()
            print("3333")
            print("3333")
            return r
        return inner
    @outer
    def f():
        print("000")
    r=f()
    #1、遇到outer函数放到内存
    #2、遇到@outer 执行outer函数,把@outer下面的函数名当做参数执行outer函数,
    #3、把outer的返回值inner重新赋值给f
    #4、现在执行f()就相当于执行inner
    #5、执行inner,先print("222")
    #6、再执行func  ,这里的func是原来的函数f()既print("000")
    #7、再执行print("333")
    #8、返回一个原来函数的返回值r给inner就是现在的f
    

    装饰器可以装饰具有处理n个参数的函数(利用*args和**kwargs)

    def outer(func):
        def inner(*args,**kwargs):
            print("222")
            print("222")
            r=func(*args,**kwargs)
            print("3333")
            print("3333")
            return r
        return inner
    @outer
    def f(a1,a2):
        print("000")
    r=f(1,2)        #这里传的参数必须和f函数的参数个数一致
    

     多个装饰器同时对一个函数装饰的情况

    def outer(func):
        def inner(*arg,**kwargs):
            print("123")
            ret=func(*arg,**kwargs)
            print("456")
            return ret
        return inner
    
    def outer9(func):
        def inner(*arg,**kwargs):
            print("3.5")
            ret=func(*arg,**kwargs)
            return ret
        return inner
    
    @outer
    @outer9
    def index(a1,a2):
        print("ffffff")
        return a1+a2
    index(1,2)
    
  • 相关阅读:
    第四阶段学习总结
    第三阶段学习总结
    第二阶段学习总结
    第一阶段内容的学习总结
    第四单元及OO课程总结
    关于工具的碎碎念
    第三单元博客总结
    第二单元博客总结
    第一单元作业总结
    实验五 单元测试
  • 原文地址:https://www.cnblogs.com/luxiaojun/p/5486898.html
Copyright © 2020-2023  润新知