01人工智能创新型教师培育计划(第一期)0125

news/2025/1/27 16:24:44/文章来源:https://www.cnblogs.com/flyingsir/p/18691251
  人工智能创新型教师培育计划(第一期)
 

   一、直播时间:

        1月25日——19:30--21:00

        1月26日——19:30--21:00

    二、直播内容

        主题:大模型赋能,3小时入门Python。

        教师:谢作如(浙江省特级教师)

 

 

 温州科技高级中学人工智能科创中心负责人,浙江省“万人计划”教学名师,特级教师,正高级教师,中国电子学会现代教育技术分会副主任委员,中国教育技术协会信息技术教育专委会常务理事,教育部综合实践活动课程指导纲要研制项目组专家教育部“十四五”国培计划专家,中国STEM教育2029创新行动计划专家库成员,中国儿童中心儿童人工智能教育研究院特聘专家,全国师范生人工智能教育共同体专家组成员、NOAI中国区科学教育委员会委员、人工智能开源项目XEdu和OpenHydra发起人,清华大学初中信息科技教材主编,2019年联合国教科文组织移动学习周活动特邀发言嘉宾。

    1/2512:14 更新:今天凌晨注册邮件要下午3:00前发送。没有收到邮件,不影响上课。会影响27号上完第一阶段课之后的Python作业提交(在网页上提交)需要你的邮箱地址(或者手机)验证。如果作业通过,我们的算力券也会通过邮箱通知。
- 1/25 11:00更新: 各位老师,确认邮件已经于1月25日8:00 前全部发送完毕。如果您(或者您认识的老师中)有报名了,
 

 3小时入门python

 

https://zh.wikipedia.org/zh-hans/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80%E6%AD%B7%E5%8F%B2

 

  • 1951 - Regional Assembly Language
  • 1952 - Autocode
  • 1954 - FORTRAN
  • 1954 - IPL (LISP的先驱)
  • 1955 - FLOW-MATIC (COBOL的先驱)
  • 1957 - COMTRAN (COBOL的先驱)
  • 1958 - LISP
  • 1958 - ALGOL 58
  • 1959 - FACT (COBOL的先驱)
  • 1959 - COBOL
  • 1962 - APL
  • 1962 - Simula
  • 1962 - SNOBOL
  • 1963 - CPL (C的先驱)
  • 1964 - BASIC
  • 1964 - PL/I
  • 1967 - BCPL (C的先驱)

 

1960年代晚期至1970年代晚期的期间中,编程语言的发展也有了重大的成果。大多数现在所使用的主要语言范型都是在这段期间中发明的:

  • Simula,于1960年代晚期由奈加特与达尔以Algol 60超集合的方式发展,同时也是第一个设计支持面向对象进行开发的编程语言。
  • C,于1969至1973年间由贝尔实验室的研究人员丹尼斯·里奇与肯·汤普逊所开发,是一种早期的系统程序设计语言。
  • Smalltalk,于1970年代中期所开发,是一个完全从零开始(ground-up)设计的面向对象编程语言。
  • Prolog,于1972年由Colmerauer、Roussel以及Kowalski所设计,是第一个逻辑程序语言。
  • ML,于1973年由罗宾·米尔纳所发明,是一个基于Lisp所建构的多态(polymorphic)类型系统,同时也是静态类型函数编程语言的先驱。
   

这段期间被开发出来的重要语言包括有:

  • 1968 - Logo
  • 1970 - Pascal
  • 1970 - Forth
  • 1972 - C
  • 1972 - Smalltalk
  • 1972 - Prolog
  • 1973 - ML
  • 1975 - Scheme
  • 1978 - SQL (起先只是一种查询语言,扩展之后也具备了程序结构)

 

期间被开发出来的重要语言包括有:

  • 1980 - Ada
  • 1983 - C++ (就像有类别的C)
  • 1984 - Common Lisp
  • 1985 - Eiffel
  • 1986 - Erlang
  • 1987 - Perl
  • 1988 - Tcl
  • 1989 - FL (Backus)

 

发出来的重要语言包括有:

  • 1990 - Haskell
  • 1991 - Python
  • 1991 - Visual Basic
  • 1993 - Ruby
  • 1993 - Lua
  • 1994 - CLOS (part of ANSI Common Lisp)
  • 1995 - Java
  • 1995 - Delphi (Object Pascal)
  • 1995 - JavaScript
  • 1995 - PHP
  • 1997 - REBOL
  • 1999 - D

 

间被开发出来的重要语言包括有:

  • 2000 - ActionScript
  • 2001 - C#
  • 2001 - D
  • 2001 - Visual Basic .NET
  • 2002 - Scratch
  • 2003 - Scala
  • 2003 - Factor
  • 2005 - F#
  • 2005 - HolyC
  • 2006 - Windows PowerShell
  • 2007 - Clojure
  • 2008 - Nim
  • 2009 - Go
  • 2011 - Dart
  • 2011 - Kotlin
  • 2012 - Julia
  • 2012 - TypeScript
  • 2012 - Elm
  • 2012 - Elixir
  • 2014 - Swift (编程语言)
  • 2015 - Rust
  • 2019 - Bosque
  • 2021 - Microsoft Power Fx
 0

 大语言模型,帮助编程快速入门。

 

编程错误。理解错误的消化。

 

 

 1  

 

 

 

程序的运行

 

 

 

 

 

 

 

 

 

 

分类   

 

编译型语言和解释型语言是两种不同的编程语言执行方式,它们在原理、性能和开发体验等方面有明显的区别。以下是对它们的详细对比和理解方式:

1. 基本原理

  • 编译型语言
    • 定义:编译型语言在程序运行之前,会先通过编译器将源代码转换为机器代码(或中间字节码),生成一个可执行文件(如 .exe 文件)。这个可执行文件可以直接在计算机上运行,而不需要再次解释。
    • 例子:C、C++、Go、Rust。
    • 优点:运行速度快,因为程序已经被完全转换为机器代码,计算机可以直接执行,无需逐行解释。
    • 缺点:开发周期较长,每次修改代码后都需要重新编译;跨平台性较差,因为生成的可执行文件是针对特定操作系统和硬件的。
  • 解释型语言
    • 定义:解释型语言在程序运行时,通过解释器逐行读取源代码并立即执行。解释器会将源代码逐行转换为机器代码并运行,不会生成独立的可执行文件。
    • 例子:Python、JavaScript(运行在浏览器中)、Ruby。
    • 优点:开发灵活,修改代码后无需重新编译,直接运行即可;跨平台性好,只要有合适的解释器,代码可以在不同平台上运行。
    • 缺点:运行速度相对较慢,因为每次运行都需要逐行解释。

2. 性能差异

  • 编译型语言:运行速度快,因为程序已经被完全转换为机器代码,计算机可以直接执行。适合对性能要求较高的场景,如系统编程、游戏开发、高性能计算等。
  • 解释型语言:运行速度较慢,因为每次运行都需要逐行解释。不过,现代解释器(如 Python 的 PyPy、JavaScript 的 V8 引擎)通过优化技术(如即时编译JIT)已经大幅提升了运行速度,但仍然无法完全赶上编译型语言。

3. 开发体验

  • 编译型语言:开发过程中需要编译步骤,每次修改代码后都需要重新编译才能运行。优点是编译器可以在编译阶段检查语法错误,减少运行时错误。
  • 解释型语言:开发过程中无需编译步骤,修改代码后可以直接运行。适合快速开发和调试,但运行时可能会遇到语法错误。
  • 4. 跨平台性

    • 编译型语言:跨平台性较差。因为编译生成的可执行文件是针对特定操作系统和硬件的,如果要跨平台运行,需要重新编译(如使用跨平台编译工具,如 CMake)。
    • 解释型语言:跨平台性较好。只要有合适的解释器,代码可以在不同平台上运行(如 Python 在 Windows、Linux 和 macOS 上都可以运行)。

    5. 理解方式

    • 类比理解:可以将编译型语言比作“预制菜”,在运行之前已经做好了所有准备工作(编译),可以直接食用(运行),速度快但不够灵活。解释型语言则像是“现点现做”,每次运行时都需要现做(逐行解释),虽然速度慢但更灵活。
    • 实际应用:如果你在开发一个对性能要求极高的系统(如操作系统、游戏引擎),编译型语言(如 C++)可能是更好的选择;如果你在开发一个快速迭代的Web应用,解释型语言(如 Python、JavaScript)可能更适合。

    总结

    • 编译型语言:适合对性能要求高、运行效率敏感的场景,开发周期稍长,但运行效率高。
    • 解释型语言:适合快速开发、调试和跨平台运行的场景,开发灵活,但运行速度相对较慢。
   

 -

解决问题才是主流;

 

 

Python 的开源性质

  1. 开源许可
    Python 是在 Python 软件基金会许可证(Python Software Foundation License)下发布的。这是一种自由软件许可证,允许用户自由使用、修改和分发 Python 的源代码。这意味着开发者可以:
    • 查看 Python 的实现细节。
    • 修改代码以满足特定需求。
    • 将修改后的版本分发给他人。
  2. 社区贡献
    Python 的开发和维护是由全球开发者社区共同完成的。任何人都可以通过贡献代码、修复漏洞、改进文档等方式参与 Python 的开发。这种开放的开发模式使得 Python 不断进化,能够快速适应新的技术需求和应用场景。
  3. 免费使用
    Python 是完全免费的,无论是用于个人项目、商业应用还是学术研究,都可以免费使用 Python,无需支付任何费用。

Python 的开源优势

  • 透明性:开源使得 Python 的实现细节完全透明,用户可以深入了解语言的内部工作机制。
  • 可定制性:开发者可以根据自己的需求对 Python 进行定制,例如优化性能、添加新功能等。
  • 社区支持:开源社区提供了强大的支持,包括丰富的文档、教程、第三方库和工具,帮助开发者解决问题。
  • 跨平台性:Python 的开源性质使其能够在多种操作系统(如 Windows、Linux、macOS)上运行,具有良好的跨平台性。

Python 的开源实例

    • Python 源代码:Python 的源代码可以在其官方代码仓库中找到,例如 Python 的 GitHub 仓库(CPython 是 Python 的官方实现)。任何人都可以下载、查看和贡献代码。
    • 第三方库:Python 的开源生态还包括大量的第三方库和框架,如 Django、Flask、NumPy、Pandas 等。这些库也大多是开源的,进一步丰富了 Python 的功能。

 

 

 

 

 环境安装  

 

各Ⓜ縛材种工具:
Winpython、anaconda
Visual Studio Code
。PyCharm
。Jupyter
。Pyz0
Thonny
·IDLE(自带)
nnodo
项目文件,出十 D README X111.mni8t手写体数字-训练.ipymh x
>20230713
> MMEdU中>mchockpoinls
> cls_tosuit
购> picturo
[)1.mnst手写体数字-训练.ipynl
8
[12.mnist手写体数字·报理:iPynl
[13.从mnist手写体数字识别到扩
README
[’cls.onnx
ecis.py
十 代码D 远行D 运行所有螢胀咼撙断儻缪号保存十 文本
[1] 孝 更新挥文件lpip instal1 --upgrado xsdumm0.1.20 --no-dops -i httiRegwLzement aLready sacioLied: du-.0.1.20 in /uex/kagos (0.1.20)
[2] fron nEdu import xuclaosifioation as cls
3.模型训练
我们在OpcninnoLob上提供了“mnlst数据集”,引用后就可以直接使用,子
第一步:实例化模型对于手写体识则,MMClagsifcation 推荐的网络模型是LeNst,这是对于实例化模型,还可以简写为“model-cls('LoNot)”,也就说只要传建上“backbone='aNe!",懂化一下,这是一个所掊的名称。
[3]model=cls(backbone-"LeXet")* 实例化模型为made]
https://www.openinnolab.org.cn,https://p6bm2if73b.feishu.cn/file/boxcn7ejYk2XUDsHI3Mig9546Uf
XEdu一键安装包:

 

 

 

 

 www.openinnolab.org.cn

 

https://p6bm2if73b.feishu.cn/file/boxcn7ejYk2XUDsHI3Miq9546Uf

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 1. 容器有限

2. 未来不确定关闭。 

 

 

-

 https://momodel.cn

1. 推荐使用, 有免费时间可以使用。

 

3.  ) 或者推荐;

google的  codelab;  免费平台和流量。 

   

 

 

https://p6bm2if73b.feishu.cn/file/boxcn7ejYk2XUDsHI3Miq9546Uf

-

 

 

 

 

 

 

 

 大模型随机选择

                

 

 

 

  1. 大模型 

open.bigmodel.cn

kimi.moonshot.cn

www.doubao.com

www.deepseek.com

 

 

 

 

 

 

 

 

 

 www.openinnolab.org.cn

 

 

 

 

 

 

1. 安装xedu,

安装到 c盘 , 或者 d盘 根目录, +

 

 

2. 运行 

bug解决脚本.bat

 

3. 运行编辑平台。 

 

 

网页浏览器。  右侧 新建。 

 开始编辑

 

 

 

 

 

 

 

 

 cmd服务窗口 隐藏; 

在 Windows 系统中,CMD(命令提示符)窗口默认是可见的,但可以通过一些方法将其隐藏到后台运行,或者在启动时直接不显示窗口。以下是几种实现方式:

方法 1:使用 VBScript 隐藏 CMD 窗口

可以通过创建一个简单的 VBScript 脚本来隐藏 CMD 窗口运行指定的命令或脚本。
  1. 创建 VBScript 文件:
    • 打开记事本或其他文本编辑器。
    • 输入以下代码:
      vbscript复制
      CreateObject("Wscript.Shell").Run "cmd.exe /c your_command_here", 0, True
      your_command_here 替换为你想要在 CMD 中运行的命令,例如:
      vbscript复制
      CreateObject("Wscript.Shell").Run "cmd.exe /c ping 8.8.8.8", 0, True
    • 将文件保存为 .vbs 文件,例如 run_hidden.vbs
  2. 运行 VBScript 文件:
    • 双击运行该 .vbs 文件,CMD 窗口将在后台运行指定的命令,且不会显示窗口。

方法 2:使用 PowerShell 隐藏 CMD 窗口

PowerShell 提供了更强大的脚本功能,也可以用来隐藏 CMD 窗口运行命令。
  1. 创建 PowerShell 脚本:
    • 打开记事本或其他文本编辑器。
    • 输入以下代码:
      powershell复制
      $process = Start-Process -FilePath "cmd.exe" -ArgumentList "/c your_command_here" -WindowStyle Hidden -PassThru
      your_command_here 替换为你的命令,例如:
      powershell复制
      $process = Start-Process -FilePath "cmd.exe" -ArgumentList "/c ping 8.8.8.8" -WindowStyle Hidden -PassThru
    • 将文件保存为 .ps1 文件,例如 run_hidden.ps1
  2. 运行 PowerShell 脚本:
    • 打开 PowerShell,导航到脚本所在目录。
    • 运行脚本:
      powershell复制
      .\run_hidden.ps1
      如果遇到执行策略限制,可以临时更改执行策略:
      powershell复制
      Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

方法 3:使用第三方工具

有一些第三方工具可以用来隐藏 CMD 窗口,例如 Hidden Start。这些工具通常提供了更简单的界面和更多功能。

方法 4:通过编程实现

如果你正在编写一个程序(例如用 Python、C# 等),可以通过编程方式启动 CMD 并隐藏窗口。

示例:使用 Python 启动隐藏 CMD 窗口

Python复制
import subprocess# 启动隐藏的 CMD 窗口运行命令
subprocess.Popen(['cmd.exe', '/c', 'your_command_here'], creationflags=subprocess.CREATE_NO_WINDOW)

示例:使用 C# 启动隐藏 CMD 窗口

csharp复制
using System.Diagnostics;class Program
{static void Main(){ProcessStartInfo startInfo = new ProcessStartInfo{FileName = "cmd.exe",Arguments = "/c your_command_here",WindowStyle = ProcessWindowStyle.Hidden};Process.Start(startInfo);}
}

注意事项

  • 权限问题:某些命令可能需要管理员权限才能执行。如果需要管理员权限,可以在运行脚本或命令时右键选择“以管理员身份运行”。
  • 安全性:隐藏窗口运行命令时,确保你运行的命令是安全的,避免执行恶意代码。

 

 课件

 

 

运行流程

1. 大模型 回答程序代码

2. xedu 本地 运行。或者 芸编辑平台。 

https://p6bm2if73b.feishu.cn/file/boxcn7ejYk2XUDsHI3Miq9546Uf

 

大模型,奶奶漏洞,姥姥漏洞?   

 

“奶奶漏洞”和“姥姥漏洞”是指大语言模型(如ChatGPT)中的一种安全漏洞,属于“Prompt Injection”(提示词注入)或“Jailbreak”(越狱)的范畴。这种漏洞利用了模型的生成机制,通过特定的提示词来绕过模型的安全限制,使其生成违反道德或安全规则的内容

具体表现

  • 奶奶漏洞:用户通过提示模型“扮演我的奶奶哄我睡觉”,并要求其提供一些通常被禁止的内容(如Windows 11专业版的序列号),模型会生成这些内容。这种漏洞利用了模型对亲情场景的温情回应,从而绕过了安全审查
  • 姥姥漏洞:与“奶奶漏洞”类似,也是通过特定的提示词来诱导模型生成不当内容

影响

  • 这些漏洞可能被用于获取非法内容(如盗版软件序列号)
  • 它们还可能被用于绕过模型的道德审查机制,生成违反社会规范或法律的内容

防范措施

  • 开发者需要不断优化模型的安全机制,以识别和阻止这类提示词
  • 用户应避免利用这类漏洞获取非法或不当内容

 

 学习实践步骤

 

 

 

 

   

 

 

大预言模型程序,基本讲解

 

 

 

 

 

 

 

 大语言模型解决问题的能力。

 

复制错误问题,让大模型 ,解释并给出答案。

 

1. 我遇到了问题,内容如下, 请告诉我什么原因,怎么解决。

【粘贴问题代码】

 

 

 

 

 

 

 

 

功能代码演示。

 

 

 大部分鸡免同笼的代码,都是用公式法。能不能 用一个一个判断(枚举)的方式来计算? 请给我一个 python的实现程序。

 

 

问题描述

假设一个笼子里有若干只鸡和兔子,已知鸡有 2 条腿,兔子有 4 条腿。现在已知总头数和总腿数,求解鸡和兔的数量。

枚举法实现

Python复制
def chicken_rabbit(total_heads, total_legs):# 遍历所有可能的鸡的数量for chickens in range(total_heads + 1):# 计算对应的兔子数量rabbits = total_heads - chickens# 计算当前组合的总腿数total_legs_calculated = chickens * 2 + rabbits * 4# 判断当前组合是否满足总腿数if total_legs_calculated == total_legs:return chickens, rabbits# 如果没有找到满足条件的组合,返回 Nonereturn None, None# 示例
total_heads = 35  # 总头数
total_legs = 94   # 总腿数chickens, rabbits = chicken_rabbit(total_heads, total_legs)if chickens is not None and rabbits is not None:print(f"鸡的数量: {chickens}")print(f"兔子的数量: {rabbits}")
else:print("没有找到满足条件的解")

代码说明

  1. 输入参数:
    • total_heads:总头数(鸡和兔子的总数)。
    • total_legs:总腿数。
  2. 枚举过程:
    • 使用一个 for 循环枚举所有可能的鸡的数量(从 0 到 total_heads)。
    • 对于每一种鸡的数量,计算对应的兔子数量(rabbits = total_heads - chickens)。
    • 计算当前组合的总腿数(total_legs_calculated = chickens * 2 + rabbits * 4)。
    • 如果当前组合的总腿数等于给定的总腿数,则返回当前的鸡和兔子的数量。
  3. 输出结果:
    • 如果找到满足条件的组合,输出鸡和兔子的数量。
    • 如果没有找到满足条件的组合,输出提示信息。

 

 

另一种方法。

能不能对分的思想来实现呢。   算法思想。

 

修正后的代码

以下是修正后的代码,确保能够正确解决“鸡兔同笼”问题:
Python复制
def chicken_rabbit(total_heads, total_legs):# 定义鸡的数量范围left, right = 0, total_headswhile left <= right:# 计算中间值mid = (left + right) // 2# 计算对应的兔子数量rabbits = total_heads - mid# 计算当前组合的总腿数total_legs_calculated = mid * 2 + rabbits * 4# 判断当前组合是否满足总腿数if total_legs_calculated == total_legs:return mid, rabbitselif total_legs_calculated < total_legs:# 如果当前腿数太少,说明鸡的数量太多,需要减少鸡的数量right = mid - 1else:# 如果当前腿数太多,说明鸡的数量太少,需要增加鸡的数量left = mid + 1# 如果没有找到满足条件的组合,返回 Nonereturn None, None# 示例
total_heads = 35  # 总头数
total_legs = 94   # 总腿数chickens, rabbits = chicken_rabbit(total_heads, total_legs)if chickens is not None and rabbits is not None:print(f"鸡的数量: {chickens}")print(f"兔子的数量: {rabbits}")
else:print("没有找到满足条件的解")

修正后的逻辑

  1. 对分法的核心逻辑:
    • 使用 leftright 定义鸡的数量范围 [0, total_heads]
    • 在每次迭代中,计算中间值 mid,表示当前假设的鸡的数量。
    • 计算对应的兔子数量 rabbits = total_heads - mid
    • 计算当前组合的总腿数 total_legs_calculated = mid * 2 + rabbits * 4
    • 如果当前组合的总腿数等于给定的总腿数,返回当前的鸡和兔子的数量。
    • 如果当前组合的总腿数小于给定的总腿数,说明鸡的数量太多,需要减少鸡的数量(调整右边界 right = mid - 1)。
    • 如果当前组合的总腿数大于给定的总腿数,说明鸡的数量太少,需要增加鸡的数量(调整左边界 left = mid + 1)。
  2. 修正错误:
    • 在之前的代码中,逻辑判断部分存在错误,导致结果不正确。修正后,确保逻辑正确。

示例运行

假设总头数为 35,总腿数为 94,运行程序后输出:
复制
鸡的数量: 23
兔子的数量: 12

验证

  • 总头数:23+12=35
  • 总腿数:23×2+12×4=46+48=94
结果完全正确。希望这次的修正能够满足你的需求!

 

 

 实现 python页面。

 

 

请为这个程序实现一个python gui程序。 通过窗口输入 总头数和 总腿数 ,在页面显示 结果。

 
 
 

 

 
我们可以使用 Python 的 tkinter 库来实现一个简单的图形用户界面(GUI)程序,用于输入总头数和总腿数,并显示计算结果。
以下是完整的代码实现:
Python复制
import tkinter as tk
from tkinter import messageboxdef chicken_rabbit(total_heads, total_legs):# 定义鸡的数量范围left, right = 0, total_headswhile left <= right:# 计算中间值mid = (left + right) // 2# 计算对应的兔子数量rabbits = total_heads - mid# 计算当前组合的总腿数total_legs_calculated = mid * 2 + rabbits * 4# 判断当前组合是否满足总腿数if total_legs_calculated == total_legs:return mid, rabbitselif total_legs_calculated < total_legs:# 如果当前腿数太少,说明鸡的数量太多,需要减少鸡的数量right = mid - 1else:# 如果当前腿数太多,说明鸡的数量太少,需要增加鸡的数量left = mid + 1# 如果没有找到满足条件的组合,返回 Nonereturn None, Nonedef calculate():try:total_heads = int(heads_entry.get())total_legs = int(legs_entry.get())chickens, rabbits = chicken_rabbit(total_heads, total_legs)if chickens is not None and rabbits is not None:result_label.config(text=f"鸡的数量: {chickens}\n兔子的数量: {rabbits}")else:messagebox.showinfo("结果", "没有找到满足条件的解")except ValueError:messagebox.showerror("错误", "请输入有效的数字")# 创建主窗口
root = tk.Tk()
root.title("鸡兔同笼问题")# 创建输入框和标签
heads_label = tk.Label(root, text="总头数:")
heads_label.grid(row=0, column=0, padx=10, pady=10)
heads_entry = tk.Entry(root)
heads_entry.grid(row=0, column=1, padx=10, pady=10)legs_label = tk.Label(root, text="总腿数:")
legs_label.grid(row=1, column=0, padx=10, pady=10)
legs_entry = tk.Entry(root)
legs_entry.grid(row=1, column=1, padx=10, pady=10)# 创建计算按钮
calculate_button = tk.Button(root, text="计算", command=calculate)
calculate_button.grid(row=2, column=0, columnspan=2, pady=10)# 创建结果显示标签
result_label = tk.Label(root, text="", font=("Arial", 12, "bold"))
result_label.grid(row=3, column=0, columnspan=2, pady=10)# 运行主循环
root.mainloop()

程序说明

  1. 界面布局:
    • 使用 tkinter 创建一个简单的窗口,包含两个输入框(用于输入总头数和总腿数)、一个计算按钮和一个结果显示标签。
    • 输入框用于用户输入总头数和总腿数。
    • 计算按钮触发 calculate 函数,进行计算并显示结果。
  2. 计算逻辑:
    • calculate 函数从输入框中获取总头数和总腿数,调用 chicken_rabbit 函数进行计算。
    • 如果找到满足条件的解,将结果显示在标签中;如果没有找到解,弹出提示框。
  3. 错误处理:
    • 如果用户输入的不是有效的数字,会弹出错误提示框。

示例运行

运行程序后,你将看到一个窗口,输入总头数和总腿数后点击“计算”按钮,结果会显示在窗口中。

示例输入和输出

  • 输入:
    • 总头数:35
    • 总腿数:94
  • 输出:
    复制
    鸡的数量: 23
    兔子的数量: 12

 

---

  • Tkinter:适合初学者,代码简洁,适合快速开发简单的 GUI 应用。
  • PyQt:功能强大,适合复杂的应用程序开发,但代码相对复杂。
  • wxPython:提供丰富的控件和原生外观,适合开发功能强大的应用程序。
  • PySimpleGUI:代码非常简洁,适合初学者快速上手,适合开发简单的 GUI 应用。
  • DearPyGui:现代化的 GUI 库,界面美观,代码简洁且直观,适合开发现代感强的应用。

 

 

 

AI+PYTHON  

 

 

 

 

Python 的众多库可以从多个角度入手,包括它们的作用、分类、使用方法以及如何选择合适的库。以下是一些帮助你更好地理解和使用 Python 库的方法:

1. 了解 Python 库的作用

Python 库是一组预编写的代码模块,用于实现特定的功能。它们可以帮助开发者快速完成复杂的任务,而无需从头开始编写代码。例如:
  • NumPy:用于科学计算,提供高性能的多维数组对象和工具。
  • Pandas:用于数据分析,提供数据结构和数据分析工具。
  • Matplotlib:用于数据可视化,可以绘制各种图表。
  • Flask/Django:用于 Web 开发,提供框架来构建 Web 应用。
  • TensorFlow/PyTorch:用于机器学习和深度学习,提供构建和训练模型的工具。

2. 分类理解

Python 的库可以按照功能分类,帮助你更快地找到合适的库:
  • 科学计算与数据分析:NumPy、Pandas、SciPy、Statsmodels。
  • 数据可视化:Matplotlib、Seaborn、Plotly。
  • Web 开发:Flask、Django、FastAPI。
  • 机器学习与深度学习:TensorFlow、PyTorch、Scikit-learn。
  • 自动化与脚本:Requests、BeautifulSoup(用于网络爬虫)、Paramiko(用于 SSH)。
  • 图形用户界面:Tkinter、PyQt、Kivy。
  • 系统操作:OS、Shutil、Subprocess。

3. 如何学习和使用 Python 库

(1)阅读官方文档

每个库都有详细的官方文档,通常包括安装方法、使用示例、API 参考等。例如:
  • NumPy 官方文档
  • Pandas 官方文档
  • Matplotlib 官方文档

(2)安装库

使用 pip 命令安装库:
bash复制
pip install numpy pandas matplotlib

(3)编写示例代码

通过编写简单的示例代码来熟悉库的基本用法。例如,使用 Pandas 读取数据:
Python复制
import pandas as pd# 读取 CSV 文件
data = pd.read_csv('data.csv')
print(data.head())  # 显示前几行数据

(4)参考社区资源

许多社区资源(如 Stack Overflow、GitHub、知乎等)提供了大量关于如何使用特定库的示例和经验分享。遇到问题时,可以搜索这些平台。

(5)实践项目

通过实际项目来加深对库的理解。例如,使用 Flask 构建一个简单的 Web 应用,或使用 TensorFlow 训练一个简单的机器学习模型。

4. 如何选择合适的库

(1)功能需求

根据项目需求选择合适的库。例如,如果你需要进行复杂的数据分析,Pandas 是一个很好的选择;如果你需要构建一个高性能的 Web 应用,Django 或 Flask 可能更适合。

(2)社区支持

选择有活跃社区支持的库,这样在遇到问题时更容易找到解决方案。例如,TensorFlow 和 PyTorch 都有庞大的社区和丰富的教程。

(3)性能

对于性能敏感的应用,需要考虑库的性能。例如,在处理大规模数据时,NumPy 的性能通常优于纯 Python 实现。

(4)兼容性

确保库与你的 Python 版本和其他库兼容。有些库可能只支持特定的 Python 版本。

5. 理解库的内部机制(可选)

对于一些常用的库,理解其内部机制可以帮助你更好地使用它们。例如:
  • NumPy:了解其内存布局和广播机制。
  • Pandas:理解其数据结构(如 DataFrame 和 Series)的实现。
  • Matplotlib:了解绘图的基本原理和配置。

6. 持续学习

Python 的生态系统非常活跃,新的库和工具不断涌现。定期关注 Python 社区的动态,学习新的库和技术,可以帮助你保持技术的先进性。

 

 

 

 

 

 

 

 

 

2016年

 

 

 

 

 

 

 

 

 

 

 

思考练习;

大模型实现; 

 

 

 

 

 

   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 

 链接;

xedu下载
https://p6bm2if73b.feishu.cn/file/boxcn7ejYk2XUDsHI3Miq9546Uf
xedu 手册
https://xedu.readthedocs.io/zh-cn/master/about.html
 
 
在线编程平台
https://momodel.cn
https://www.openinnolab.org.cn
 
 
 
 
大模型平台:
open.bigmodel.cn
 
kimi.moonshot.cn
 
www.doubao.com
 
www.deepseek.com
 
 
 
 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何移植ftp服务器到arm板子?

很多厂家提供的sdk,一般都不自带ftp服务器功能, 需要要发人员自己移植ftp服务器程序。 本文手把手教大家如何移植ftp server到arm板子。环境 sdk:复旦微 Buildroot 2018.02.31. 解压 $ mkdir ~/vsftpd $ cp vsftpd-3.0.2.tar.gz ~/vsftpd $ cd ~/vsftpd $ tar xzf vsftpd…

obs录制压缩体积和减少游戏性能开销

帧率降一点、编码器选硬件的、速率控制选好的、如果要调速度可以参考下面的NV官网推荐的截图视频录制编码器选硬件AV1(穷鬼用30系N卡没有AV1硬件编码器就退而求其次选了HEVC) 注:40系以上N卡、A系i卡、RDNA2以上A卡 应该都有AV1硬件编码器,名字都不一样。同时请记住AV1之间亦…

1.认识封装与电子元器件位号

1.电阻贴片电阻(R)封装对应着功率:0201->1/20W0402->1/16W0603->1/10W0805->1/8W1206->1/4W1210->1/3W1812->1/2W2010->3/4W2512->1W后缀L(小)和M(大)代表着焊盘的大小例:R 0201_L和R 0201_M对比精密贴片电阻(R_HP)命名中后缀加入HP例:R 0…

基于ESP32的桌面小屏幕实战[6]:环境搭建和软件基础

摘要 本文分为两部分:Linux开发环境搭建和软件基础。Linux开发环境搭建介绍了Ubuntu虚拟机安装及SSH、Samba配置,可以实现用VSCode操作虚拟机。为了后续工作,搭建了乐鑫ESP32 SDK环境。软件基础介绍了Linux开发常用的软件基础,包括Linux指令、Git、Makefile、裸机和RTOS。 …

SpringMvc请求与响应 -2025/1/19

请求 Post请求中文乱码处理List集合接受,请求后台接受参数 //集合参数:同名请求参数可以使用@RequestParam注解映射到对应名称的集合对象中作为数据 @RequestMapping("/listParam") @ResponseBody public String listParam(List<String> likes){System.out.pr…

Spring事务 -2025/1/15

Spring事务简介 Spring添加事务管理 1.2.Spring事务角色Spring事务配置 事务是可以进行配置的事务传播行为 事务传播行为:事务协调员对事务管理员所携带事务的处理态度。 propagation属性

AOP -2025/1/11

AOP简介连接点(JoinPoint):程序执行过程中的任意位置,粒度为执行方法、抛出异常、设置变量等在SpringAOP中,理解为方法的执行切入点(Pointcut):匹配连接点的式子在SpringAOP中,一个切入点可以描述一个具体方法,也可也匹配多个方法一个具体的方法:如com.itheima.dao包下的B…

牛客 小白109 20250119

牛客 小白 109 20250119 牛客小白月赛109_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A: 题目大意:根据不等式求值 #include<bits/stdc++.h>using namespace std;int main() {int n;cin>>n;if (n<=19375331) cout<<n;else cout<<1937…

Vue3+ElementPlus+Koa2 全栈开发后台系统

Vue3+ElementPlus+Koa2 全栈开发后台系统 9 18 第1章 项目规划/1-1.mp4 Vue3+ElementPlus+Koa2全栈开发后台系统@河畔一角 前端Vue3+ElementPlus后台Koa2+MongoDB 如何构建通用型的后台管理系统如何搭建完备的前后台系统架构 掌握开发工作技巧 开发概述全栈后台管理系统 架构设…

User Agent Switcher不改变客户端UA

描述 如图,下面这个软件。软件设置中,包含以下选项,有个选项是不改变客户端的UA(navigator全局对象)然而,就算不勾选这玩意,navigator依然没有被正常改变。获取UA 可以在下面的网站,查看当前浏览器环境UA。 https://tool.ip138.com/useragent/ 客户端(浏览器) const …

事件监听,Vue,Ajax

1.事件监听点击查看代码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>JS事件</title>…

用M实现类似Lookup的等级查找(Power Query 之 M 语言)

问题:表1和表2,需要根据表2中金额下限的设置反应对应的等级(=LOOKUP(A2,D$2:E$4)的结果)。 let源1 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 源2 = Excel.CurrentWorkbook(){[Name="表2"]}[Content],查找 = (对应金额) =>let筛选行 = T…