试图运行for循环,被告知'float'对象不可迭代

     2023-02-23     97

关键词:

【中文标题】试图运行for循环,被告知\'float\'对象不可迭代【英文标题】:Trying to run for-loop, being told that 'float' object is not iterable试图运行for循环,被告知'float'对象不可迭代 【发布时间】:2014-01-04 16:30:25 【问题描述】:

我正在尝试进行一些分形图像处理,但在运行我的代码时,我被告知

Traceback (most recent call last):
    File "all_the_maps.py", line 72, in <module>
        (xh, yh) = Hf(xf,yf,r)
TypeError: 'float' object is not iterable

相关代码块是

(xf,yf) = (0,0)
(xh,yh) = (0,0)

for n in xrange(N):
    r = random.randint(1,10000)
    (xf,yf) = F(xf,yf,r)
    (xh,yh) = Hf(xh,yh,r)
    h[int(round(xh)),int(round(yh))] = f[int(round(xf)),
        int(round(yf))]

完整的文件在http://pastebin.com/kbJD3BK9(它很长,我不太擅长python,所以读起来可能会很痛苦)。

我看过其他人收到此错误,似乎他们正在迭代无法迭代的东西(例如 for i in 7: 而不是 for i in range(7): )。但是,这似乎不是我做错了什么,我真的不知道该怎么做。如果有人可以提供帮助,将不胜感激。

编辑:Hf 定义为:

def Hf(x,y,r):
    if r <= 10000*a*b:
        return 0.5*x, 0.5*y
    elif r <= 10000*b:
        return 0.5*x + 255.0
    elif r <= 10000*(1 - a + a*b):
        return 0.5*x + 255.0, 0.5*y + 255.0
    else:
        return 0.5*x, 0.5*y + 255.0

【问题讨论】:

你能把函数Hf发在这里吗? 【参考方案1】:

你的第二个案例

elif r <= 10000*b:
    return 0.5*x + 255.0

不会像其他人一样返回元组。

澄清一下 - 在您的主程序中,在(xh,yh) = Hf(xh,yh,r) 行中,您期望右侧有两个项目。如果r &lt;= 10000*bHf 将只返回一个浮点数,而不是其他情况返回的元组。

【讨论】:

精度分数(numpy.float64' 对象不可调用)

...解释一下?我想通过更改DecisionTreeClassifier的参数来获得循环中的最佳precision_scor 查看详情

以编程方式确定是不是可以在对象上运行 for 循环的最佳解决方案

...发布时间】:2016-06-2115:17:05【问题描述】:在研究中,我试图找到最快的方法来确定一个对象是否具有值,并且可以在该对象上执行for。参考:https://j 查看详情

这些 for 循环有啥区别?

】这些for循环有啥区别?【英文标题】:What\'sthedifferencebetweentheseforloops?这些for循环有什么区别?【发布时间】:2013-11-1406:29:12【问题描述】:这两个for循环有什么区别?我被告知不要在我的代码中使用第二个示例。我对此感到... 查看详情

“Int”对象不可迭代

...【发布时间】:2013-08-0217:05:43【问题描述】:我正在尝试运行一个for循环。这是我遇到问题的代码部分:aldurstengd_ororka=(18,19,20,21,22,23,24):1,(25):0.95,(26):0.90,(27):0.85,(28,29):0.75,(30,31):0.65,(32,33) 查看详情

TypeError:“numpy.float64”对象不可调用 - 打印 F1 分数时

...2021-01-0103:17:23【问题描述】:我正在尝试在JupyterNotebook上运行以下代码:lr=LogisticRegression(class_weight=\'balanced 查看详情

TypeError:“sqlite3.Cursor”对象不可下标。如何在没有for循环的情况下打印sql选择数据[重复]

】TypeError:“sqlite3.Cursor”对象不可下标。如何在没有for循环的情况下打印sql选择数据[重复]【英文标题】:TypeError:\'sqlite3.Cursor\'objectisnotsubscriptable.howtoprintsqlselectdatawithoutforloop[duplicate]【发布时间】:2021-03-0815:21:06【问题描述】... 查看详情

for循环与int,float,str数据类型的使用

一、定义for循环:循环就是重复做某件事,for循环是python提供第二种循环机制,理论上for循环能做的事情,while循环都可以做。目的:之所以要有for循环,是因为for循环在循环取值(遍历取值)比while循环更简洁。二、for循环的... 查看详情

在 Object.entries 上运行 forEach 不会返回与 for 循环相同的内容

...用常规for循环遍历一个对象,这对我来说很好。但是,我试图删除代码的所有for循环,转而支持数组迭代,并且由于某种原因,我不明白为什么在使用f 查看详情

我需要无限旋转视图直到被告知停止

】我需要无限旋转视图直到被告知停止【英文标题】:Ineedtoinfinitelyrotateaviewuntiltoldtostop【发布时间】:2017-04-2511:14:19【问题描述】:我看过很多类似的帖子,但没有一个有效。这是我目前的代码。funcstartRotating(view:UIImageView,rotati... 查看详情

“浮动”对象不可迭代?

...在尝试以英寸为单位汇总总降雨量以显示总数,但是当我运行代码时,我得到一个TypeError说“\'float\'objectisnotiterable”。知道我做错了什么吗?months=12defmain():rain=get_rain()total=get_total(rai 查看详情

python显示float不可回收

...float对象会占用大量内存,并且可能导致垃圾回收器频繁运行。为了避免这种情况,我们可以使用其他类型,如Decimal或Fraction,它们可以提供更精确的计算,并且可以避免创建大量的临时对象。另外,我们还可以使用NumPy库中的... 查看详情

pyspark:TypeError:'float'对象不可迭代

】pyspark:TypeError:\\\'float\\\'对象不可迭代【英文标题】:pyspark:TypeError:\'float\'objectisnotiterablepyspark:TypeError:\'float\'对象不可迭代【发布时间】:2018-04-2205:55:54【问题描述】:我正在编写火花代码,但总是出错:TypeError:\'float\'o... 查看详情

TypeError: 'float' 类型的对象没有 len() & TypeError: 'float' 对象不可迭代

】TypeError:\\\'float\\\'类型的对象没有len()&TypeError:\\\'float\\\'对象不可迭代【英文标题】:TypeError:objectoftype\'float\'hasnolen()&TypeError:\'float\'objectisnotiterableTypeError:\'float\'类型的对象没有len()&TypeError:\'float\'对象不可 查看详情

渲染时捕获 TypeError:'int' 对象在 django 模板中不可迭代

...不可迭代【发布时间】:2015-09-1003:56:57【问题描述】:我试图在for循环中迭代list_length。list 查看详情

Javascript更改数组值而不被告知

】Javascript更改数组值而不被告知【英文标题】:Javascriptchangingarrayvalueswithoutbeingtoldto【发布时间】:2020-08-0510:20:12【问题描述】:我是Javascript新手,因此这个问题可能很简单,但我找不到答案。我有一个Country类,它带有一些参... 查看详情

渲染时捕获 TypeError:“BoundField”对象不可迭代

...显示为tag.name(而不是列表)。但是,当我尝试在列表上运行for循环时,它会抛出"CaughtTypeErrorwhilerendering: 查看详情

python excel dataorganiser TypeError:'float'对象不可迭代

】pythonexceldataorganiserTypeError:\\\'float\\\'对象不可迭代【英文标题】:pythonexceldataorganiserTypeError:\'float\'objectisnotiterablepythonexceldataorganiserTypeError:\'float\'对象不可迭代【发布时间】:2020-09-2619:23:46【问题描述】:我目前有以下数据... 查看详情

从 for 循环创建 json 对象数组

...fromforloops【发布时间】:2017-08-0910:52:54【问题描述】:我试图从html中提取值,然后将它们转换为json数组,到目前为止,我已经能够得到我想要的,但只能作为单独的字符串:我做了两个for循环:forlineingames_html.findAll(\'div\',class_=... 查看详情