【在校课堂笔记】Python 第 7 节课 总结

news2025/4/17 15:48:40

- 第 85 篇 -
Date: 2025 - 04 - 06
Author: 郑龙浩/仟墨
【Python 在校课堂笔记】

南山-第 7 节课

上课时间: 2025-03-27

文章目录

  • 南山-第 7 节课
  • 一 99乘法表 –> 三角
  • 二 函数
    • 1 已接触的函数,部分举例
    • 2 自定函数的定义与使用
      • 自定义函数:
      • 举例
    • 3 带参数的
    • 4 阶乘
    • 5 捕获异常
  • 三 作业
    • (1)什么情况下用自定义函数?
    • (2)自定义函数的语法

一 99乘法表 –> 三角

去掉打印的内容,只打印*,打印出来的就是右下三角形

for i in range(1, 10):
    for j in range(1, i + 1):
        print(f'{j} × {i} = {j * i:<3}', end=' ')
    print()
# 打印结果
1 × 1 = 1   
1 × 2 = 2   2 × 2 = 4   
1 × 3 = 3   2 × 3 = 6   3 × 3 = 9   
1 × 4 = 4   2 × 4 = 8   3 × 4 = 12  4 × 4 = 16  
1 × 5 = 5   2 × 5 = 10  3 × 5 = 15  4 × 5 = 20  5 × 5 = 25  
1 × 6 = 6   2 × 6 = 12  3 × 6 = 18  4 × 6 = 24  5 × 6 = 30  6 × 6 = 36  
1 × 7 = 7   2 × 7 = 14  3 × 7 = 21  4 × 7 = 28  5 × 7 = 35  6 × 7 = 42  7 × 7 = 49  
1 × 8 = 8   2 × 8 = 16  3 × 8 = 24  4 × 8 = 32  5 × 8 = 40  6 × 8 = 48  7 × 8 = 56  8 × 8 = 64  
1 × 9 = 9   2 × 9 = 18  3 × 9 = 27  4 × 9 = 36  5 × 9 = 45  6 × 9 = 54  7 × 9 = 63  8 × 9 = 72  9 × 9 = 81  
for i in range(1, 10):
    for j in range(1, i + 1):
        print('*', end = ' ')
    print()
# 打印结果
* 
* * 
* * * 
* * * * 
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *

二 函数

先定义,后调用

1 已接触的函数,部分举例

注: 源文件名尽量不要和库名一致

#内置函数
range()
print()
input()
len()
...
#库函数
math.max()
math.min()
math.factorial()
pow()
...
#第三方函数
jieba库
jieba.luct('123')
...

安装第3方库

  • 单击“文件”
  • 单击“project”
inport jieba
print(jieba.luct('现在上的是python语言程序设计课程!')) # 词云
# 答案
# ['现在'

2 自定函数的定义与使用

自定义函数:

  • 函数定义

    结构:

    def 为关键字

    def 函数名 (参数1, 参数2,):
        函数体
        ...
    
  • 函数调用

    def 函数名 (参数1, 参数2,)
    

举例

def print_star():
    for i in range(1, 9): # 8  行
        for j in range(1, i + 1):
            print('*', end = ' ')
        print()
print_star():
# 打印结果
* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 
* * * * * * * 
* * * * * * * * 

3 带参数的

形参数量与实参数量必须保持一致,否则报错

def print_star(n): # n 为形参
    for i in range(1, n + 1): # n 行的话,要将n + 1,否则打印出来是n - 1行(因为range 的范围是左闭右开)
        for j in range(1, i + 1):
            print('*', end = ' ')
        print()
print_star(8) # 5为实参
# 打印结果
* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 
* * * * * * * 
* * * * * * * * 

4 阶乘

单向传递 –> 不返回值,直接打印结果

def fun(n): #阶乘
    sum = 1
    for i in range(1, n + 1):
        sum *= i
    print(sum)
fun(5)
# 打印结果
120

双向传递 –> 返回结果

return适用于自定义函数当中

当有多个return时,返回第一个起作用的return

阶乘 * 10

def fun(n): #阶乘
    sum = 1
    for i in range(1, n + 1):
        sum *= i
    return sum;
ans = fun(5) # 将结果传回来
print(f'{ans * 10})
# 打印结果
1200
  • 5 捕获异常

  • 参数错误的时候,会提示“ValueError”,后边跟着一串英文,但是我们可以捕获这个异常,按照自己的要求提示的相应内容

  • 数据类型错误的时候,会提示“TypeError”,后边跟着一串英文,但是我们可以捕获这个异常,按照自己的要求提示的相应内容

try:
    def fun(n): #阶乘
        sum = 1
        for i in range(1, n + 1):
            sum *= i
        return sum
        print(f'{sum * 10}')
except ValueError:
    print("请输入一个参数")
except TypeError:
    print("请输入一个整形数据")

三 作业

(1)什么情况下用自定义函数?

  • 当内置函数与第三方库函数不能满足自己实现某种功能的时候
  • 当需要进行多个重复运算,但是代码是相同的时候,可以将这段代码封装到函数当中,以便于调用,减少了代码量
  • 当代码很长的时候,如果功能很复杂,需要将功能拆分开来,封装到函数当中,提高阅读效率

(2)自定义函数的语法

# 定义
def 函数名 (参数1, 参数2, ...):
    函数体
# 调用
def 函数名 (参数1, 参数2, ...)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2330795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的监控:使用 Actuator 实现健康检查

<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、引子&…

蓝桥杯—数字接龙(dfs+减枝)

一.题目 二.思路 一看就是迷宫问题的变种&#xff0c;从左上角到达右下角&#xff0c;要解决 1.8个方向的方向向量&#xff0c;用dx&#xff0c;dy数组代表方向向量 2.要按照一个规律的数值串进行搜索0&#xff0c;1&#xff0c;2&#xff0c;k-1&#xff0c;0&#xff0c;1…

Docker与VNC的使用

https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc 下载nvc 客户端 https://downloads.realvnc.com/download/file/viewer.files/VNC-Viewer-7.12.0-Windows.exe 服务端 docker pull dorowu/ubuntu-desktop-lxde-vnc#下载成功 docker pull dorowu/ubuntu-desktop-l…

C++——清明

#include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sstream> #include <vector> #include <memory> #include <ctime>using namespace std;class Weapon; // 前置声明class Hero{ pr…

手搓多模态-06 数据预处理

前情回顾 我们目前实现了视觉模型的编码器部分&#xff0c;然而&#xff0c;我们所做的是把一张图片编码嵌入成了许多个上下文相关的嵌入向量&#xff0c;然而我们期望的是一张图片用一个向量来表示&#xff0c;从而与文字的向量做点积形成相似度&#xff08;参考手搓多模态-01…

HCIP【路由过滤技术(详解)】

目录 1 简介 2 路由过滤方法 3 路由过滤工具 3.1 静默接口 3.2 ACL 3.3 地址前缀列表 3.4 filter-policy 3.4.1 filter-policy过滤接收路由&#xff08;以RIP为例&#xff09; 3.4.2 filter-policy过滤接收路由&#xff08;以OSPF为例&#xff09; 1 简介 路由过滤技术…

【AI插件开发】Notepad++ AI插件开发实践(代码篇):从Dock窗口集成到功能菜单实现

一、引言 上篇文章已经在Notepad的插件开发中集成了选中即问AI的功能&#xff0c;这一篇文章将在此基础上进一步集成&#xff0c;支持AI对话窗口以及常见的代码功能菜单&#xff1a; 显示AI的Dock窗口&#xff0c;可以用自然语言向 AI 提问或要求执行任务选中代码后使用&…

Vue3在ZKmall开源商城前端的应用实践与技术创新

ZKmall开源商城作为一款企业级电商解决方案&#xff0c;其前端架构基于Vue3实现了高效、灵活的开发模式&#xff0c;结合响应式设计、组件化开发与全链路性能优化&#xff0c;为多端协同和复杂业务场景提供了先进的技术支持。以下从技术架构、核心特性、性能优化等维度解析Vue3…

SpringAI+MCP协议 实战

文章目录 前言快速实战Spring AISpring AI 集成 MCP 协议Spring Mcp Client 示例Spring Mcp Server 示例 前言 尽管Python最近成为了编程语言的首选&#xff0c;但是Java在人工智能领域的地位同样不可撼动&#xff0c;得益于强大的Spring框架。随着人工智能技术的快速发展&…

[数据结构]图krusakl算法实现

目录 Kruskal算法 Kruskal算法 我们要在连通图中去找生成树 连通图&#xff1a;在无向图中&#xff0c;若从顶点v1到顶点v2有路径&#xff0c;则称顶点v1与顶点v2是连通的。如果图中任意一对顶点都是连通的&#xff0c;则称此图为连通图。 生成树&#xff1a;一个连通图的最小…

QEMU学习之路(5)— 从0到1构建Linux系统镜像

QEMU学习之路&#xff08;5&#xff09;— 从0到1构建Linux系统镜像 一、前言 参考&#xff1a;从内核到可启动镜像&#xff1a;0到1构建你的极简Linux系统 二、linux源码获取 安装编译依赖 sudo apt install -y build-essential libncurses-dev flex bison libssl-dev li…

node ---- 解决错误【Error: error:0308010C:digital envelope routines::unsupported】

1. 报错 在 Node.js 18.18.0 的版本中&#xff0c;遇到以下错误&#xff1a; this[kHandle] new _Hash(algorithm, xofLen);^ Error: error:0308010C:digital envelope routines::unsupported这个错误通常发生在运行项目或构建时&#xff0c;尤其是在使用 Webpack、Vite 或其他…

蓝桥杯——走迷宫问题(BFS)

这是一个经典的BFS算法 1. BFS算法保证最短路径 核心机制&#xff1a;广度优先搜索按层遍历所有可能的路径&#xff0c;首次到达终点的路径长度即为最短步数。这是BFS的核心优势。队列的作用&#xff1a;通过队列按先进先出的顺序处理节点&#xff0c;确保每一步探索的都是当…

详解 Redis repl_backlog_buffer(如何判断增量同步)

一、repl_backlog_buffer 复制积压缓冲区&#xff08;Replication Backlog Buffer&#xff09; 是一个环形内存区域&#xff08;Ring Buffer&#xff09;&#xff0c;用于临时保存主节点最近写入的写命令&#xff0c;以支持从节点断线重连后的增量同步。 1.1 三个复制偏移量 …

使用PyTorch实现ResNet:从残差块到完整模型训练

ResNet&#xff08;残差网络&#xff09;是深度学习中的经典模型&#xff0c;通过引入残差连接解决了深层网络训练中的梯度消失问题。本文将从残差块的定义开始&#xff0c;逐步实现一个ResNet模型&#xff0c;并在Fashion MNIST数据集上进行训练和测试。 1. 残差块&#xff08…

Scala相关知识学习总结5

1、多维数组 定义&#xff1a; val arr Array.ofDim[Double](3,4) 表示二维数组中有三个一维数组&#xff0c;每个一维数组有四个元素。 2、列表 List 不可变 List&#xff1a;默认不可变&#xff0c;可创建有序且可重复的列表&#xff0c;可使用:从右向左增加数据&#xf…

Day1:前端项目uni-app壁纸实战

uni-app官网下载HBuilder。 uni-app快速上手 | uni-app官网 点击HBuilder 安装 新建项目 工具——插件安装 安装uni-app&#xff08;vue3&#xff09; 我们先来准备一下&#xff1a; 先在wallpaper下新建目录 我已经建过了 同样&#xff0c;再在common下建images和style目录&…

光谱相机的光谱数据采集原理

光谱相机的光谱数据采集原理基于‌分光技术‌和‌光电信号转换‌&#xff0c;通过将入射光按波长分解并记录各波段的强度信息&#xff0c;最终生成包含空间和光谱维度的数据立方体。以下是详细原理分解&#xff1a; ‌1. 分光技术&#xff1a;将复合光分解为单色光‌ 光谱相机…

宏碁笔记本电脑擎7PRO搭载的 NVIDIA RTX 5080 显卡安装pytorch

宏碁笔记本电脑擎7PRO搭载的 NVIDIA RTX 5080 显卡是一款高性能移动 GPU&#xff0c;基于 NVIDIA 最新的 Blackwell 架构设计&#xff0c;通过修正架构&#xff08;Blackwell&#xff09;、显存类型与带宽&#xff08;GDDR7、960GB/s&#xff09;、Tensor Core 与 RT Core 全面…

html+css+js 实现一个贪吃蛇小游戏

目录 游戏简介 游戏功能与特点 如何玩转贪吃蛇 游戏设计与实现 HTML结构 JavaScript核心实现 代码结构&#xff1a; 效果 关于“其他游戏” 游戏简介 贪吃蛇是一款经典的单人小游戏&#xff0c;玩家通过控制蛇的移动&#xff0c;吃掉食物来增加长度&#xff0c;避免撞…