帮助解决Python UnboundLocalError:赋值前引用的局部变量

2023-12-03

我之前已经发布过类似的问题,但是,我想我可能误解了我的问题,所以我可以在这里发布我的原始代码,并寻找有人可以帮助我,我现在真的陷入了困境..非常感谢。

from numpy import *
import math as M

#initial condition  All in SI unit
G=6.673*10**-11   #Gravitational constant
ms=1.9889*10**30 #mass of the sun
me=5.9742*10**24 #mass of the earth
dt=10           #time step
#Creat arrays
vs=array([[0,0,0]])     #1st element stand for x component of V of earth
ve=array([[29770,0,0]])
rs=array([[0,0,0]])           
re=array([[0,1.4960*10**11,0]])

#First update velocity in order to start leapfrog approximation
fs=-G*ms*me*((rs-re)/(M.sqrt((rs-re)[0][0]**2+(rs-re)[0][1]**2+(rs-re)[0][2]**2))**3)
fe=-fs
vs=vs+fs*dt/ms 
ve=ve+fe*dt/me

n=input('please enter the number of timestep you want it evolve:')
#update force
def force(n,ms,me,rs,re,G):
    rs,re=update_r(rs,re,n,dt)
    fs=-G*ms*me*((rs-re)/(M.sqrt((rs-re)[0][0]**2+(rs-re)[0][1]**2+(rs-re)[0][2]**2))**3)
    fe=-fs
    return fs,fe

#update velocities
def update_v(n,vs,ve,ms,me,dt,fs,fe):
    fs,fe=force(n,ms,me,rs,re,G)
    i=arange(n)
    vs=vs+fs[:]*i[:,newaxis]*dt/ms
    ve=ve+fe[:]*i[:,newaxis]*dt/me
    return vs,ve

#update position
def update_r(rs,re,n,dt):
    vs,ve=update_v(n,vs,ve,ms,me,dt,fs,fe)
    i=arange(n)
    rs=rs+vs[:]*i[:,newaxis]*dt
    re=re+ve[:]*i[:,newaxis]*dt
    return rs,re
#there is start position,v,r,f all have initial arrays(when n=0).
#then it should calculate f(n=1) then use this to update v(n=0)
#to v(n=1),then use v(n=1) update r(n=0) to r(n=1),then use r(n=1)
#update f(n=1) to f(n=2)....and so on until finish n.but this code seems doesnt do this,,how can I make it? – 

当我调用force python时给出:

please enter the number of timestep you want it evolve:4Traceback (most recent call last):
  File "<pyshell#391>", line 1, in <module>
    force(n,ms,me,rs,re,G)
  File "/Users/Code.py", line 24, in force
    rs,re=update_r(rs,re,n,dt)
  File "/Users/Code.py", line 39, in update_r
    vs,ve=update_v(n,vs,ve,ms,me,dt,fs,fe)
UnboundLocalError: local variable 'vs' referenced before assignment

谁能给我一些建议吗?谢谢......


在这段代码中你在哪里调用force?

无论如何,问题出在 update_r 上。即使 vs 没有在此函数中定义,您也可以在 update_r 的第一行中引用 vs 。 Python 不看上面定义的 vs 。尝试添加

global vs

作为 update_r 的第一行或将 vs 添加到 update_r 的参数列表中

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

帮助解决Python UnboundLocalError:赋值前引用的局部变量 的相关文章

  • PyList_SetItem 与 PyList_SETITEM

    据我所知 PyList SetItem 和 PyList SETITEM 之间的区别在于 PyList SetItem 会降低它覆盖的列表项的引用计数 而 PyList SETITEM 不会 我有什么理由不应该一直使用 PyList Set
  • 具有多处理功能的 Python 代码无法在 Windows 上运行

    以下简单的绝对初学者代码在 Ubuntu 14 04 Python 2 7 6 和 Cygwin Python 2 7 8 上运行 100 但在 Windows 64 位 Python 2 7 8 上挂起 我使用另一个片段观察到了同样的情况
  • Python Nose 导入错误

    我似乎无法理解鼻子测试框架 https nose readthedocs org en latest 识别文件结构中测试脚本下方的模块 我已经设置了演示该问题的最简单的示例 下面我会解释一下 这是包文件结构 init py foo py t
  • Spark MLlib - 训练隐式警告

    我在使用时不断看到这些警告trainImplicit WARN TaskSetManager Stage 246 contains a task of very large size 208 KB The maximum recommend
  • 编辑 scikit-learn 决策树

    我想编辑 sklearn DecisionTree 例如改变条件或切割节点 叶子等 但似乎没有功能可以做到这一点 如果我可以导出到文件 编辑它以导入 如何编辑决策树 环境 Windows 10 python3 3 sklearn 0 17
  • Python:记录垃圾收集器

    我有一个 python 应用程序 有一些性能问题 我想将垃圾收集器的事件 特别是何时调用 添加到我的日志中 是否可以 thanks http docs python org library gc html gc set debug http
  • Python 在 chroot 中运行时出现错误

    我尝试在 chroot 中运行一些 Python 程序 但出现以下错误 Could not find platform independent libraries
  • 为什么 tkinter / window.update 在我的程序中随着时间的推移变得更慢?

    我发现当我调用 window update 时 当向窗口写入的内容较少时 它的运行速度会更快 但后来 当我向窗口写入更多元素时 window update 需要更长的时间 请参阅下面的我的代码 您可以看到它在更新窗口之前一次向屏幕 100
  • Python 遍历目录树的方法是什么?

    我觉得分配文件和文件夹并执行 item 部分有点黑客 有什么建议么 我正在使用Python 3 2 from os import from os path import def dir contents path contents list
  • 为什么在 Windows 中使用 GetConsoleScreenBufferInfoEx 时控制台窗口会缩小?

    我正在尝试使用 GetConsoleScreenBufferInfoEx 和 SetConsoleScreenBufferInfoEx 设置 Windows 命令行控制台的背景和前景色 我正在 Python 中使用 wintypes 进行此
  • 如何找到列表S的所有分区为k个子集(可以为空)?

    我有一个唯一元素列表 比方说 1 2 我想将其拆分为 k 2 个子列表 现在我想要所有可能的子列表 1 2 1 2 2 1 1 2 我想分成 1 1 2 我怎样才能用 Python 3 做到这一点 更新 我的目标是获取 N 个唯一数字列表的
  • Python 正则表达式部分匹配或“hitEnd”

    我正在编写一个扫描器 因此我将任意字符串与正则表达式规则列表进行匹配 如果我可以模拟 Java hitEnd 功能 不仅知道正则表达式何时不匹配 还知道何时匹配 这将非常有用 can t匹配 当正则表达式匹配器在决定拒绝输入之前到达输入末尾
  • 在Python中创建一个新表

    我正在尝试从数控机床中提取数据 事件每毫秒发生一次 我需要过滤掉一些用管道 分隔的变量分隔符 PuTTy exe 程序生成的日志文件 我尝试阅读熊猫 但列不在同一位置 df pd read table data log sep 日志文件的一
  • 网页抓取 - 前往第 2 页

    如何访问数据集的第二页 无论我做什么 它都只返回第 1 页 import bs4 from urllib request import urlopen as uReq from bs4 import BeautifulSoup as sou
  • Django - 电子邮件发送两次

    每当我使用如下所示的电子邮件设置从views py调用下面的方法时 电子邮件的两份副本都会发送给收件人 并且我收到如下所示的错误 def sendEmailBasic request msg EmailMessage Request Cal
  • 大型数据集上的 Sklearn-GMM

    我有一个很大的数据集 我无法将整个数据放入内存中 我想在这个数据集上拟合 GMM 我可以用吗GMM fit sklearn mixture GMM 重复小批量数据 没有理由重复贴合 只需随机采样您认为机器可以在合理时间内计算的尽可能多的数据
  • scipysolve_ivp() 中的访问时间步长

    我有一个常微分方程系统 正在使用 scipy 的solve ivp 函数求解 它运行良好 但我在访问每个步骤中使用的时间步时遇到问题 我知道solve ivp 将当前时间传递给用户定义的函数 但我需要使用的时间步长 而不是当前时间 为了解决
  • Python 枚举子集迭代

    我想迭代以下枚举的子集 class Items enum Enum item1 0 item2 1 item3 2 item4 3 item5 4 item6 5 item7 6 item8 7 说我想 for item in Items
  • 在Python 3.2中,我可以使用http.client打开并读取HTTPS网页,但urllib.request无法打开同一页面

    我想打开并阅读https yande re https yande re with urllib request 但我收到 SSL 错误 我可以使用以下方式打开并阅读页面http client用这个代码 import http client
  • 为什么用字符串和时间增量转置 DataFrame 会转换数据类型?

    这种行为对我来说似乎很奇怪 id列 字符串 在转置后转换为时间戳df如果另一列是时间增量 import pandas as pd df pd DataFrame id 00115 01222 32333 val 12 14 170 df v

随机推荐

  • 为 R 中所有列的多行创建摘要(第 90 个百分位)统计数据的新数据框

    我正在开展一个学校项目 有一个包含 4 000 行的数据集 有 40 名参与者 每人大约有 100 行 我想创建一个数据集 将每个参与者的行折叠成汇总统计数据 最好是第 90 个百分位 我知道如何用 dplyr 找到平均值 Means lt
  • 如何在详情页面绑定实体对象

    我正在使用 SAP UI5 开发一个主细节 Fiori 应用程序 由于详细信息包含 40 多个列 因此我为主表和详细信息制作了单独的 OData 服务 在母版页中 数据正确输入 现在我的任务是 在任何表格行上 当用户单击 详细信息 时 将打
  • Python:酸洗模块的替代方案

    我正在编写我的程序 大蒜模拟器 其中用户创建一个模拟 然后他可以按照自己的意愿操纵它 然后可以将其保存到文件中 我最近尝试实现保存功能 我想到的自然的事情就是腌制Project对象 其中包含整个模拟 问题是 Project对象还包括一个模块
  • self 类型注释中 this 和 self 之间的区别?

    在各种 Scala 文献中 我看到一些使用 this 的自我类型注释 以及其他使用 self 的自我类型注释 trait A this B gt trait A self B gt 使用 this 或 self 之间有什么真正的区别吗 你用
  • 扩展类继承静态变量值(PHP)吗?

    如果我有一个包含静态变量的基类 然后设置这个静态变量 然后有一个扩展基类的类 扩展类是否会保留我已经在基类中设置的静态变量的值 是的 虽然它们是不同的变量 但两个类中的静态变量位于同一引用集中 不过 您可以通过使用引用分配来破坏此引用集 或
  • 如何按索引组合两个 RDD[String]?

    我正在使用 Spark RDD 并创建了两个相同长度的数组 一个是推文的小时数 另一个是推文的文本 我希望将它们组合成一个数据结构 也许是一个元组 我可以按时间和推文文本进行过滤 但在组合后我在如何执行此操作方面遇到了困难 scala gt
  • 以非交互方式运行 Build.pl

    When Build pl某些 Perl 项目的运行在以前未用于 Perl 开发的系统上 如果用户想要在安装前添加某些包 它会一次又一次地中断 有什么方法可以让非交互式默认运行Build PL无需观看几个小时并一次又一次地按 输入 键 PE
  • 重试承诺步骤

    假设我有以下 Promise 链 var result Promise resolve filename then unpackDataFromFile then transformData then compileDara then wr
  • 返回并重新加载页面

    我的 ASP NET Framework 4 Web 项目中的导航存在问题 我在主页上有一个登录字段 母版页还包含一个 ContentPlaceHolder 它动态包含其他 aspx 页面 我从页面 a 开始并导航到页面 b 当我登录页面
  • 使用 iOS 7 在 iPad 上以 2x 模式启动应用程序

    在 iOS 7 之前 在 iPad 上打开的 iPhone 应用程序通常以 2x 模式启动 iOS 7 似乎强制所有应用程序 即使它们不是为 iPad 设计的 以 1x 模式启动 我们如何强制我们的应用程序在使用 iOS 7 的 iPad
  • Tensorflow 准确度为 0.99,但预测结果很糟糕

    也许我的预测是错误的 这是该项目 我有一个灰度输入图像 我正在尝试对其进行分割 分割是一个简单的二元分类 考虑前景与背景 所以基本事实 y 是一个由 0 和 1 组成的矩阵 所以有 2 个分类 哦 输入图像是一个正方形 所以我只使用一个名为
  • 是否可以在 javascript 中像媒体查询一样使用 css?

    我想知道是否有一种方法可以使用媒体查询javascript就像我在 CSS 中使用它一样 我想处理设备宽度 or 方向并触发一个函数 现在我正在使用这段代码 window onresize function event test for v
  • 字典中元素的配对组合,不重复

    在Python中 我有一个像这样的字典 pleio firstLine enf1 54 set enf2 48 free enf3 34 set enf4 12 free secondLine enf5 56 bgb enf6 67 kio
  • int[ ] 中未分配的值

    想知道在 C 中未分配的整数的值是多少int 通常是 Example int arr 5 arr 1 2 arr 3 4 for int i 0 i lt 5 i cout lt
  • 将 UTC 转换为当前区域设置时间

    我正在从 Web 服务下载一些 JSON 数据 在此 JSON 中 我有一些日期 时间值 一切都以 UTC 时间为准 如何解析此日期字符串 以便结果 Date 对象位于当前区域设置中 例如 服务器返回 2011 05 18 16 35 01
  • jQuery UI Datepicker:当今天也被选中时不突出显示

    我正在使用jQuery 日期选择器选择日期 它工作正常 除了我想更改 1 个默认行为 当您选择一天时 所选日期会突出显示 我喜欢 当前日期也被突出显示 但使用不同的 css 样式 我也喜欢 但是 如果您选择当天 则突出显示 因为它是当天 因
  • git push 尝试推送 git ls-files 中未列出的文件

    我不小心在我的仓库中提交了一个不必要的大子文件夹 xxxxx 当我在推送时意识到这一点时 我中途停止了推送 然后我使用以下命令从存储库中删除了不必要的文件夹 xxxxx git rm r cached xxxxx 但同时ls files不显
  • Xamarin Forms 和 Azure Easy Tables 同步问题

    我在 Visual Studio 中使用 Azure 作为后端开发 Xamarin Forms 应用程序已经有一段时间了 我遇到了一个非常奇怪的问题 请注意 我正在遵循本文中提到的方法blog 由于某些奇怪的原因 PullAsync 方法似
  • 测试用户角色,VB.NET中的授权属性

    我正在使用 ASP NET MVC 构建网站 我使用 VB 作为编程语言 我有几个问题 1 我创建了一个角色 经理 如何检查用户是否属于该特定角色 现在我正在使用 If My User IsInRole Manager Then Direc
  • 帮助解决Python UnboundLocalError:赋值前引用的局部变量

    我之前已经发布过类似的问题 但是 我想我可能误解了我的问题 所以我可以在这里发布我的原始代码 并寻找有人可以帮助我 我现在真的陷入了困境 非常感谢 from numpy import import math as M initial con