• Python基础 函数


    把range生成的整数序列里面的值一个一个的读出来

    请把它写成函数,完成1-100的累加计算
    1.读懂题目,选取一组数据,用零散的代码完成你的功能
    2.变成函数 def 函数名(): 把零散的代码变成他的函数体
    3.想办法提高函数的复用性
    def sum_1():
    sum = 0
    for i in range(101):
    sum += i
    print(sum)
    sum_1()

    def sum_2(m, n):
    sum = 0
    for i in range(m, n+1):
    sum += i
    print(sum)
    sum_2(1, 6)
    请把任意字符串转成一个列表
    str_1="hello" list_1=['h','e','l','l','o']

    def str_to_list_1(str_1):
    list_1 = []
    for i in str_1:
    list_1.append(i)
    print(list_1)

    str_to_list_1("string")

    def str_to_list_2(str1, str2="hello"):
    print(list(str1)+list(str2))
    str_to_list_2("world")

    return 关键字 return 返回某个值
    list_1 = [1, 2, 3, 4]
    print(list_1.pop())
    def add(a, b):
    print(a+b) #输出数据到控制台
    add(1, 2)

    def add_1(a, b):
    return a+b #return 返回一个值到你的手里
    print(add_1(1, 2))
    1. 只有return返回来的值 才归你所有,你可以对return返回来的值进行任何操作
    2.return后面的代码不再执行,函数里面的return理解为一个结束语句
    def add_2(a, b):
    print(a+b) #输出数据到控制台
    return a+b #返回一个值,但该值未输出到控制台
    print("打印return返回的值:", add_2(1, 5)) #针对于return返回的值,打印输出到控制台

    def add_3(a, b):
    return a+b
    print(a+b)
    print("打印return返回的值:", add_3(1, 2)) #针对于return返回的值,打印输出到控制台

    函数名的要求 见名知意
    有不同的字母用下划线隔开
    字母,数字,下划线组成。不能以数字开头
    变量 函数名 模块名 命名规范是一样的
    第一次升级 位置参数 提高我们的复用性
    def sum_1(a, b):
    print(a+b)
    sum_1()
    # 调用函数 函数名()
    第二次升级 默认参数 位置参数带默认值

    def sum_2(a, b, c=1):
    print(a+b+c)
    sum_2(1, 2, c=3)
    带有默认值的参数,仍然可以指定它的值
    第三次升级 return关键字 返回一个值,等待你的处理
    def sum_3(b, a=2, c=6):
    return a+b+c
    print("打印", a+b+c) #return 后面的语句不执行
    print("打印return返回的值", sum_3(1, 2, 8))

    动态参数* 动态参数名 见名知意
    def fun_1(*args): #arguments
    print(args)
    fun_1((1, 2, 3), 4, 5, [9, 6, "hello"], "world", 0.01, True, {"age": 18})
    不定长参数,可以输入任意类型的数据,数据和数据之间直接用逗号隔开
    参数个数和类型都不受限制
    函数内部会自动的把这些不定长不定类型的数据放到一个元组里面
    求任意整数之和
    def sum_10(*args):
    sum = 0
    for i in args:
    sum = sum + i
    print(sum)
    sum_10(2, 9, 6)

    def fun_3(a, b=5, *args): # 位置参数 默认参数 动态参数 #顺序取值
    print(a)
    print(b)
    print(args)

    fun_3(1, 2, 3, 4, 5, 6)

    列表类型的数据可以进行脱外套操作
    a = [[1, 2, 3], [4, 5]] #列表类型的数据
    b = [8, 9, 10]
    c = [('jadkf')]
    d = [{"name":"lucy"}, {"age": 18}]
    print(*a)
    print(*b)
    print(*c)
    print(*d)
    关键字参数 key word
    def fun_3(**kwargs):
    print(kwargs)
    fun_3(x=1, y=2) #key-value 以键值对的方式输入参数
    info = {'name': 'xy', 'age': 20}
    fun_3(**info)


    变量的作用范围
    局部变量 全局变量
    命名规范 全局大写 局部小写

    a = 6 #全局变量,整个模块都生效
    def add():
    a = 10 #局部变量,它只作用于函数内部
    b = 10 #局部变量
    print("函数内部打印a的值:", a)
    add()
    print("函数外部打印a的值:", a)
    1. 局部变量生效范围为局部,就是函数内部。全局变量就是整个模块都生效
    2. 有局部变量就取局部变量,无局部变量就取全局变量

    A = 6 #全局变量,整个模块都生效
    def add():
    a = 10 #局部变量,它只作用于函数内部
    b = 10 #局部变量
    global A #global 全局 针对于变量在内部函数中修改变量的值
    A = A+10
    print("函数内部打印a的值:", a)
    add()
    print("函数外部打印A的值:", A)

    函数内部打印a的值: 10
    函数外部打印A的值: 16

    A = [1, 2, 3, 4]
    def add():
    A.append(999)
    print("函数内部打印A的值:", A)
    add()
    print("函数外部打印A的值:", A)

    函数内部打印A的值: [1, 2, 3, 4, 999]
    函数外部打印A的值: [1, 2, 3, 4, 999]

    # #!/usr/bin/env python
    # # ! -*- coding: utf-8 -*-
    # # @Time :
    # # @Author :YiMi
    # # @File :task3
    #
    # from __future__ import print_function
    #
    #
    # # 1“利用刚刚说的的for循环和range()函数,完成1-100的累加计算
    #
    # sum = 0
    # for i in range(1, 101):
    # sum = sum + i
    # print(sum)
    #
    # # 2:完成这个列表的输出a=[5,6,7,9,10,23,45],要求是:把数据按照倒序输出。利用for循环&range函数
    #
    # a = [5, 6, 7, 9, 10, 23, 45]
    # for i in range(len(a)-1, -1, -1):
    # print(a[i], end=" ")
    #
    # print()
    #
    # # 3:输出99乘法表
    #
    # for m in range(1, 10):
    # for n in range(1, m+1):
    # print('{0}*{1}={2}'.format(n, m, m*n), end=" ")
    # if m == n:
    # print()
    #
    # # 4:优酷面试题:#
    # # 输入num为四位数,对其按照如下的规则进行加密:
    # # 1)每一位分别加5,然后分别将其替换为该数除以10取余后的结果
    # # 2)将该数的第1位和第4为互换,第二位和第三位互换
    # # 3)最后合起来作为加密后的整数输出
    #
    # number = input("请输入一个四位数:")
    #
    # l = []
    #
    # for i in number:
    # print(type(i))
    #
    #
    #
    #
    # print("输入的数字为:%d" % int(number))
    # a = (int(number[0])+5) % 10
    # b = (int(number[1])+5) % 10
    # c = (int(number[2])+5) % 10
    # d = (int(number[3])+5) % 10
    #
    # e = a
    # a = d
    # d = e
    # f = b
    # b = c
    # c = f
    #
    # print("加密后的结果为:", str(a)+str(b)+str(c)+str(d))
    # # 方法二:
    # list_1 = []
    # num = input("请输入四位数字:")
    # for i in num:
    # value = (int(i)+5)%10
    # list_1.append(value)
    # list_1.reverse()
    # print(list_1)
    # print(list_1[0]*1000+list_1[1]*100+list_1[2]*10+list_1[3])
    # # str_1 = ''
    # # for item in list_1:
    # # str_1 = str_1+str(item)
    # # print(int(str_1))

    list_2 = [1, 5, 6, 3]
    list_2.sort()
    print('执行完sort后输出:', list_2)
    list_2.reverse()
    print('执行完reverse后输出', list_2)

    # 执行完sort后输出: [1, 3, 5, 6]
    # 执行完reverse后输出 [6, 5, 3, 1]

    #!/usr/bin/env python
    # ! -*- coding: utf-8 -*-
    # @Time :
    # @Author :YiMi
    # @File :

    # 例如{"username":"admin","passwd":"123456"}
    # 1.设计1个登陆的程序, 不同的用户名和对成密码存在个字典里面, 输入正确的用户名和密码去登陆,
    # 2.首先输入用户名,如果用户名不存在或者为空,则一直提示输入正 确的用户名
    # 3.当用户名正确的时候,提示去输入密码,如果密码跟用户名不对应, 则提示密码错误请重新输入。
    # 4.如果密码输入错误超过三次,中断程序运行。
    # 5.当输入密码错误时,提示还有几次机会
    # 6用户名和密码都输入正确的时候,提示登陆成功!'''

    dict_1 = {'admin': '123456', 'user': '123456'}
    print("欢迎登录软件测试app")
    while True:
    user_name = input("请输入用户名:")
    if user_name in dict_1.keys():
    i = 3
    while i > 0:
    user_password = input("请输入密码:")
    if user_password in dict_1.values():
    print("登录成功,欢迎使用软件测试app")
    break
    else:
    i = i-1
    if i == 0:
    print("密码不正确,账号已被锁,请联系管理员!!!")
    break
    print("密码错误,请重新输入")
    print("密码输入还有%d次机会" % i)
    break
    else:
    print("用户名不存在,请重新输入")

  • 相关阅读:
    Java实现花朵数
    Java实现花朵数
    Java实现花朵数
    Java实现花朵数
    Java实现花朵数
    Java实现 黑洞数
    Java实现 黑洞数
    Java实现 黑洞数
    Could not create the view: An unexpected exception was thrown.问题解决
    让 SVN (TortoiseSVN)提交时忽略指定目录
  • 原文地址:https://www.cnblogs.com/coxiseed/p/9248984.html
Copyright © 2020-2023  润新知