ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

8人Python-----day06

2021-06-29 20:34:20  阅读:133  来源: 互联网

标签:info return name Python day06 ----- user print def


# 无参无返回
def hello1():
    print("hello")
    return
# 无参有返回
def hello2():
    return 1000 # 返回值  结束函数
print(hello1())
print(hello2())
# 有参有返回
def hello3(a, b):
    return a + b
print(hello3(10, 300))
# 有参无返回
def hello4(a, b):
    print(a + b)
    return
print(hello4(12, 23))

print(hello3(3, 4) * 10)
print(hello4(3, 4) * 10)

变量作用域

变量作用域指的是变量生效的范围,主要分为两类:局部变量和全局变量。

  • 局部变量
    所谓局部变量是定义在函数体内部的变量,即只在函数体内部生效。
def test1():
    a = 100
    print(a)
for i in range(1, 10):
    print(i)

局部变量的作用:在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量。

  • 全局变量
    所谓全局变量,指的是在函数体内、外都能生效的变量
b = 999
def test1():
    a = 100
    print(a + b)
    print(a)
test1()

重名的时候

b = 999
c = 666
def test1():
    a = 100
    print(a + b)
    print(a)
    c = 111
    print(c)
test1()
# for i in range(1, 10):
#     print(i)

global 关键字

b = 999
c = 666
def test1():
    a = 100
    print(a + b)
    print(a)
    # global声明c 是全局变量
    global c
    c = 111
    print(c)

函数的参数

位置参数(必须参数):调用函数时根据函数定义的参数位置来传递参数。

# 默认参数
def user_info(name, age=18, gender="女"):
    print('您的名字是{}, 年龄是{}, 性别是{}'.format(name, age, gender))
#
# user_info('TOM', 20, '男')
# user_info(12, "小李子", "女")
user_info("小桂子")
# 关键字参数  key=value
user_info("小桂子", age=20)
user_info("小桂子", age=20, gender="男")
user_info("小桂子", gender="男", age=222, )
# 原则 : 让别人看的懂

学员管理系统

在这里插入图片描述
显示

def print_info():
    print('-' * 20)
    print('欢迎登录学员管理系统')
    print('1: 添加学员')
    print('2: 删除学员')
    print('3: 修改学员信息')
    print('4: 查询学员信息')
    print('5: 显示所有学员信息')
    print('6: 退出系统')
    print('-' * 20)
info = []
# [{}, {}, ]
def add_info():
    new_id = input("请输入学号")
    new_name = input("请输入姓名")
    new_tel = input("请输入手机号")
    global info

    # 检测学生的姓名是否存在
    for d in info:
        if new_name == d['name']:
            print("该用户已经存在")
            return
    # 不存在, 添加学员
    info_dict = {}
    info_dict['id'] = new_id
    info_dict['name'] = new_name
    info_dict['tel'] = new_tel
    # 追加到学生列表里面
    info.append(info_dict)
    print(info)

def del_info():
    del_name = input("请输入删除学员的名字")
    global info
    for d in info:
        if del_name == d['name']:
            # 删除
            info.remove(d)
            print("删除成功!")
            return
    print("该学员不存在")
    print(info)
def modify_info():
    """改手机号"""
    modify_name = input('请输入要修改的学员的姓名:')
    for d in info:
        if modify_name == d['name']:
            d['tel'] = input('请输入新的手机号:')
            return
            print("修改成功")
    print(info)

def search_info():
    # 姓名查找
    search_name = input("请输入查找学员的名字")
    global info
    for d in info:
        if search_name == d['name']:
            print(d)
            return
def print_all():
    for d in info:
        print(d)
while True:
    print_info()
    user_num = input('请选择您需要的功能序号:')
    if user_num == '1':
        add_info()
    elif user_num == '2':
        del_info()
    elif user_num == '3':
        modify_info()
    elif user_num == '4':
        search_info()
    elif user_num == '5':
        print_all()
    elif user_num == '6':
        print('退出系统')
        break

递归

特点

  • 函数内部自己调用自己
  • 必须有出口(终止条件)
def sum_number(num):
    if num == 1:
        return 1
    return sum_number(num-1) + num


print(sum_number(3))
print(sum_number(100))

# 1~ n阶乘   1* 2 * 3 * ...n
# 阶乘 10*9*8*7...1
def cac1(n):
    if n == 1:
        return 1
    return n *cac1(n-1)

print(cac1(10))

# # 求 [1,2,3,4,5] 的和
ls = [1, 2, 3, 4, 5]
def arraySum(ls, start, end):
    if start==end:
        return ls[end]

    return ls[start] + arraySum(ls, start+1, end)
print(arraySum(ls, 0, 4))


# 使用递归求 s = [5,1,4,6,2] #求最大l

标签:info,return,name,Python,day06,-----,user,print,def
来源: https://blog.csdn.net/qq_39276337/article/details/118341468

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有