


1. Aplikasi: Sistem Pengurusan Pelajar
1.1 Pengenalan Sistem
Keperluan: Masukkan sistem untuk memaparkan antara muka fungsi sistem, fungsinya adalah seperti berikut:
1 , Tambah pelajar
2 Padamkan pelajar
-
3 >
4. Tanya maklumat pelajar - 5. Paparkan semua maklumat pelajar
- 6
- Sistem Terdapat 6 fungsi kesemuanya, pengguna boleh memilih mengikut keperluan mereka sendiri. Analisis 1.2 Langkah
- Nombor siri fungsi input pengguna
- Melaksanakan fungsi (fungsi) berbeza mengikut input nombor fungsi oleh pengguna
3.1 Tentukan fungsi
3.2 Fungsi panggilan -
1.3 .1 Antara muka fungsi paparan
1.3 Realisasi keperluan
, yang bertanggungjawab untuk memaparkan fungsi sistem.
def print_info(): print('-' * 20) print('欢迎登录学员管理系统') print('1: 添加学员') print('2: 删除学员') print('3: 修改学员信息') print('4: 查询学员信息') print('5: 显示所有学员信息') print('6: 退出系统') print('-' * 20) print_info()
1.3.2 Pengguna memasukkan nombor siri dan memilih fungsi
user_num = input('请选择您需要的功能序号:')
1.3.3 Menjalankan fungsi berbeza mengikut pilihan penggunaprint_info
if user_num == '1': print('添加学员') elif user_num == '2': print('删除学员') elif user_num == '3': print('修改学员信息') elif user_num == '4': print('查询学员信息') elif user_num == '5': print('显示所有学员信息') elif user_num == '6': print('退出系统')
Semasa bekerja , ia perlu berdasarkan keadaan sebenar Keperluan untuk kod penalaan.
Kod untuk pengguna memilih fungsi sistem perlu digunakan berulang kali sehingga pengguna keluar dari sistem secara aktif., jenis data ialahPembolehubah global
- Jika pengguna memasukkan nombor selain daripada 1-6, pengguna perlu digesa.
- Semua fungsi mengendalikan maklumat pelajar, dan semua maklumat pelajar harus disimpan dalam satu
while True: # 1. 显示功能界面 print_info() # 2. 用户选择功能 user_num = input('请选择您需要的功能序号:') # 3. 根据用户选择,执行不同的功能 if user_num == '1': print('添加学员') elif user_num == '2': print('删除学员') elif user_num == '3': print('修改学员信息') elif user_num == '4': print('查询学员信息') elif user_num == '5': print('显示所有学员信息') elif user_num == '6': print('退出系统') else: print('输入错误,请重新输入!!!')1.3.4 Fungsi yang mentakrifkan fungsi berbeza
senarai
.info = []1.3.4.1 Tambah pelajarAnalisis keperluan
- Terima input pengguna maklumat pelajar , Dan simpan
- Tentukan sama ada untuk menambah maklumat pelajar
2.1 Jika nama pelajar sudah wujud, mesej ralat akan dilaporkan
2.2 Jika nama pelajar tidak wujud, sediakan kamus kosong dan masukkan input pengguna Data dilampirkan pada kamus, dan kemudian data kamus
dilampirkan pada senarai dan fungsi dipanggil di mana keadaan jika sepadan adalah benar- Pelaksanaan kod
def add_info(): """ 添加学员 """ # 接收用户输入学员信息 new_id = input('请输入学号:') new_name = input('请输入姓名:') new_tel = input('请输入手机号:') # 声明info是全局变量 global info # 检测用户输入的姓名是否存在,存在则报错提示 for i in info: if new_name == i['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)
- Mengikut input pengguna Padamkan nama pelajar
- Semak sama ada pelajar ini wujud
2.1 Jika wujud, padamkan ini daripada senarai Data
2.2 Jika ia tidak wujud, ia akan menggesa "Pengguna ini tidak wujud"
Panggil fungsi ini di mana keadaan jika sepadan adalah benar- Pelaksanaan kod
- rreee
- 1.3.4.3 Mengubah suai maklumat pelajar
- Pengguna memasukkan nama pelajar sasaran
- Semak sama ada pelajar ini wujud
2.1 Jika wujud, ubah suai maklumat pelajar, seperti nombor telefon bimbit
2.2 Jika tidak wujud, ralat dilaporkan
Fungsi dipanggil di mana keadaan jika sepadan adalah benar- Pelaksanaan kod
# 删除学员 def del_info(): """删除学员""" # 1. 用户输入要删除的学员的姓名 del_name = input('请输入要删除的学员的姓名:') global info # 2. 判断学员是否存在:如果输入的姓名存在则删除,否则报错提示 for i in info: if del_name == i['name']: info.remove(i) break else: print('该学员不存在') print(info)
- Semak sama ada pelajar itu wujud
2.1 Jika wujud, paparkan maklumat pelajar
2.2 Jika ia tidak wujud, mesej ralat dilaporkan
Panggil fungsi di mana keadaan jika sepadan adalah benar- Pelaksanaan kod
# 修改函数 def modify_info(): """修改函数""" # 1. 用户输入要修改的学员的姓名 modify_name = input('请输入要修改的学员的姓名:') global info # 2. 判断学员是否存在:如果输入的姓名存在则修改手机号,否则报错提示 for i in info: if modify_name == i ['name']: i['tel'] = input('请输入新的手机号:') break else: print('该学员不存在') print(info)
- Cetak semua maklumat pelajar
# 显示所有学员信息 def print_all(): """ 显示所有学员信息 """ print('学号\t姓名\t手机号') for i in info: print(f'{i["id"]}\t{i["name"]}\t{i["tel"]}')
1.3.4.6 退出系统
在用户输入功能序号6
的时候要退出系统,代码如下:
...... elif user_num == '6': exit_flag = input('确定要退出吗?yes or no') if exit_flag == 'yes': break
二. 递归
2.1 递归的应用场景
递归是一种编程思想,应用场景:
在我们日常开发中,如果要遍历一个文件夹下面所有的文件,通常会使用递归来实现;
在后续的算法课程中,很多算法都离不开递归,例如:快速排序。
2.1.1 递归的特点
函数内部自己调用自己
必须有出口
2.2 应用:3以内数字累加和
代码
# 3 + 2 + 1 def sum_numbers(num): # 1.如果是1,直接返回1 -- 出口 if num == 1: return 1 # 2.如果不是1,重复执行累加并返回结果 return num + sum_numbers(num-1) sum_result = sum_numbers(3) # 输出结果为6 print(sum_result)
执行结果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QST6841K-1597498815746)(03-函数加强.assets/1.png)]
三. lambda 表达式
3.1 lambda的应用场景
如果一个函数有一个返回值,并且只有一句代码,可以使用 lambda简化。
3.2 lambda语法
lambda
注意
lambda表达式的参数可有可无,函数的参数在lambda表达式中完全适用。
lambda表达式能接收任何数量的参数但只能返回一个表达式的值。
快速入门
# 函数 def fn1(): return 200 print(fn1) print(fn1()) # lambda表达式 fn2 = lambda: 100 print(fn2) print(fn2())
注意:直接打印lambda表达式,输出的是此lambda的内存地址
3.3 示例:计算a + b
3.3.1 函数实现
def add(a, b): return a + b result = add(1, 2) print(result)
思考:需求简单,是否代码多?
3.3.2 lambda实现
fn1 = lambda a, b: a + b print(fn1(1, 2))
3.4 lambda的参数形式
3.4.1.无参数
fn1 = lambda: 100 print(fn1())
3.4.2.一个参数
fn1 = lambda a: a print(fn1('hello world'))
3.4.3.默认参数
fn1 = lambda a, b, c=100: a + b + c print(fn1(10, 20))
3.4.4.可变参数:*args
fn1 = lambda *args: args print(fn1(10, 20, 30))
注意:这里的可变参数传入到lambda之后,返回值为元组。
3.4.5.可变参数:**kwargs
fn1 = lambda **kwargs: kwargs print(fn1(name='python', age=20))
3.5 lambda的应用
3.5.1. 带判断的lambda
fn1 = lambda a, b: a if a > b else b print(fn1(1000, 500))
3.5.2. 列表数据按字典key的值排序
students = [ {'name': 'TOM', 'age': 20}, {'name': 'ROSE', 'age': 19}, {'name': 'Jack', 'age': 22} ] # 按name值升序排列 students.sort(key=lambda x: x['name']) print(students) # 按name值降序排列 students.sort(key=lambda x: x['name'], reverse=True) print(students) # 按age值升序排列 students.sort(key=lambda x: x['age']) print(students)
四. 高阶函数
把函数作为参数传入,这样的函数称为高阶函数,高阶函数是函数式编程的体现。函数式编程就是指这种高度抽象的编程范式。
4.1 体验高阶函数
在Python中,abs()
函数可以完成对数字求绝对值计算。
abs(-10) # 10
round()
函数可以完成对数字的四舍五入计算。
round(1.2) # 1 round(1.9) # 2
需求:任意两个数字,按照指定要求整理数字后再进行求和计算。
方法1
def add_num(a, b): return abs(a) + abs(b) result = add_num(-1, 2) print(result) # 3
方法2
def sum_num(a, b, f): return f(a) + f(b) result = sum_num(-1, 2, abs) print(result) # 3
注意:两种方法对比之后,发现,方法2的代码会更加简洁,函数灵活性更高。
函数式编程大量使用函数,减少了代码的重复,因此程序比较短,开发速度较快。
4.2 内置高阶函数
4.2.1 map()
map(func, lst),将传入的函数变量func作用到lst变量的每个元素中,并将结果组成新的列表(Python2)/迭代器(Python3)返回。
需求:计算list1
序列中各个数字的2次方。
list1 = [1, 2, 3, 4, 5] def func(x): return x ** 2 result = map(func, list1) print(result) # <map> print(list(result)) # [1, 4, 9, 16, 25]</map>
4.2.2 reduce()
reduce(func,lst),其中func必须有两个参数。每次func计算的结果继续和序列的下一个元素做累积计算。
注意:reduce()传入的参数func必须接收2个参数。
需求:计算list1
序列中各个数字的累加和。
import functools list1 = [1, 2, 3, 4, 5] def func(a, b): return a + b result = functools.reduce(func, list1) print(result) # 15
4.2.3 filter()
filter(func, lst)函数用于过滤序列, 过滤掉不符合条件的元素, 返回一个 filter 对象。如果要转换为列表, 可以使用 list() 来转换。
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] def func(x): return x % 2 == 0 result = filter(func, list1) print(result) # <filter> print(list(result)) # [2, 4, 6, 8, 10]</filter>
五. 总结
递归
函数内部自己调用自己
必须有出口
lambda
语法
lambda 参数列表:
lambda的参数形式
无参数
lambda:
一个参数
lambda 参数:
默认参数
lambda key=value:
不定长位置参数
lambda *args:
不定长关键字参数
lambda **kwargs:
高阶函数
作用:把函数作为参数传入,化简代码
内置高阶函数
map()
reduce()
filter()
Atas ialah kandungan terperinci Bagaimana untuk menyesuaikan dan menggunakan fungsi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini
