TypeError:+ =:Python 3中不支持的操作数类型为“ float”和“ NoneType”

YEEF

有谁知道为什么我不断收到此错误?我真的很新,很感谢别人的帮助。这是我的代码:

import turtle as t
import math as m
import random as r

raindrops = int(input("Enter the number of raindrops: "))

def drawSquare():
    t.up()
    t.goto(-300,-300)
    t.down()
    t.fd(600)
    t.lt(90)
    t.fd(600)
    t.lt(90)
    t.fd(600)
    t.lt(90)
    t.fd(600)
    t.lt(90)

def location():
    x = (r.randint(-300, 300))
    y = (r.randint(-300, 300))
    t.up()
    t.goto(x, y)
    return x, y

def drawRaindrops(x, y):
    t.fillcolor(r.random(), r.random(), r.random())
    circles = (r.randint(3, 8))
    radius = (r.randint(1, 20))
    newradius = radius
    area = 0
    t.up()
    t.rt(90)
    t.fd(newradius)
    t.lt(90)
    t.down()
    t.begin_fill()
    t.circle(newradius)
    t.end_fill()
    t.up()
    t.lt(90)
    t.fd(newradius)
    t.rt(90)
    while circles > 0:
        if x + newradius < 300 and x - newradius > -300 and y + newradius < 300 and y - newradius > -300:
            t.up()
            t.rt(90)
            t.fd(newradius)
            t.lt(90)
            t.down()
            t.circle(newradius)
            t.up()
            t.lt(90)
            t.fd(newradius)
            t.rt(90)
            newradius += radius
            circles -= 1
            area += m.pi * radius * radius
        else:
            circles -= 1
    return area

def promptRaindrops(raindrops):
    if raindrops < 1 or raindrops > 100:
        print ("Raindrops must be between 1 and 100 inclusive.")
    if raindrops >= 1 and raindrops <= 100:
        x, y = location()
        area = drawRaindrops(x, y)
        area += promptRaindrops(raindrops - 1)
        return x, y, area

def main():
    t.speed(0)
    drawSquare()
    x, y, area = promptRaindrops(raindrops)
    print('The area is:', area, 'square units.')

main()
t.done()

我假设“ + =”出了点问题,但我不知道该怎么办。我相当确定该区域已正确返回。请帮助。:)

尼尔·A。

我注意到两件事:

1.promptRaindrops返回一个元组

我确定您并没有打算这样做,但是当您说时area += promptRaindrops(raindrops - 1),您要向其中添加一个元组area,它是一个整数要解决此问题,您应该说area += promptRaindrops(raindrops - 1)[2]要返回该区域。但是,您的错误是由

2.您的基本情况不返回值

在中promptRaindrops,您每当返回函数的递归调用1 <= raindrops <= 100但是,当它超出该范围时,它不返回任何内容,仅显示一条消息。您的函数将始终在该范围之外,因为如果您继续减小传递给的值promptRaindrops,则它最终将低于1。当它返回时,您将返回None(因为未返回任何内容)。在这一点None上进行的每个递归调用中都会冒出气泡,您将不可避免地将添加Nonearea添加一个返回元组的return语句,您的错误应消失。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python TypeError:+不支持的操作数类型:'NoneType'和'str'

来自分类Dev

Python:TypeError:+不支持的操作数类型:“ NoneType”和“ int”

来自分类Dev

Python3:socket:TypeError:%不支持的操作数类型:“字节”和“字节”

来自分类Dev

Python 3 TypeError:**或pow()不支持的操作数类型:“ str”和“ int”

来自分类Dev

TypeError:+不支持的操作数类型:“ int”和“ NoneType”

来自分类Dev

TypeError:%不支持的操作数类型:“ NoneType”和“ int”

来自分类Dev

TensorFlow 1.x:TypeError:/:不支持的操作数类型:'NoneType'和'int'

来自分类Dev

TypeError:+ =不支持的操作数类型:“ datetime.timedelta”和“ NoneType”

来自分类Dev

TypeError:+不支持的操作数类型:“ NoneType”和“ list”

来自分类Dev

TypeError:%不支持的操作数类型:“ NoneType”和“ int”

来自分类Dev

TypeError:+不支持的操作数类型:“ NoneType”和“ int”

来自分类Dev

TypeError: 不支持的操作数类型 +: 'NoneType' 和 'int' 在 while 循环中

来自分类Dev

如何修复,TypeError:% 不支持的操作数类型:'NoneType' 和 'int'

来自分类Dev

Python错误:+不支持的操作数类型:“ int”和“ NoneType”

来自分类Dev

Python错误:+不支持的操作数类型:“ int”和“ NoneType”

来自分类Dev

Python错误TypeError:+不支持的操作数类型:'function'和'function'

来自分类Dev

Python(TypeError:Add不支持的操作数类型:“ undefined”和“ str”)

来自分类Dev

TypeError:-:“ str”和“ int” Python不支持的操作数类型

来自分类Dev

Python(TypeError:Add不支持的操作数类型:“ undefined”和“ str”)

来自分类Dev

Python 2.7 TypeError:%不支持的操作数类型:“ None type”和str

来自分类Dev

Python27 TypeError:类型不支持的操作数+ ='int'和'str'

来自分类Dev

代码错误 Python:TypeError: 不支持 / 的操作数类型:'set' 和 'int'

来自分类Dev

训练GRU模型TypeError时出现此错误:*不支持的操作数类型:'int'和'NoneType'

来自分类Dev

TypeError:%的不支持的操作数类型:带有随机数生成器的'NoneType'和'tuple'?

来自分类Dev

+ =不支持的操作数类型:“ NoneType”和“ list”

来自分类Dev

+不支持的操作数类型:“ NoneType”和“ int”

来自分类Dev

类型错误:不支持 / 的操作数类型:'NoneType' 和 'float'

来自分类Dev

*:'NoneType'和'NoneType'(Python)不受支持的操作数类型

来自分类Dev

TypeError:*:'NoneType'和'int'不受支持的操作数类型

Related 相关文章

  1. 1

    Python TypeError:+不支持的操作数类型:'NoneType'和'str'

  2. 2

    Python:TypeError:+不支持的操作数类型:“ NoneType”和“ int”

  3. 3

    Python3:socket:TypeError:%不支持的操作数类型:“字节”和“字节”

  4. 4

    Python 3 TypeError:**或pow()不支持的操作数类型:“ str”和“ int”

  5. 5

    TypeError:+不支持的操作数类型:“ int”和“ NoneType”

  6. 6

    TypeError:%不支持的操作数类型:“ NoneType”和“ int”

  7. 7

    TensorFlow 1.x:TypeError:/:不支持的操作数类型:'NoneType'和'int'

  8. 8

    TypeError:+ =不支持的操作数类型:“ datetime.timedelta”和“ NoneType”

  9. 9

    TypeError:+不支持的操作数类型:“ NoneType”和“ list”

  10. 10

    TypeError:%不支持的操作数类型:“ NoneType”和“ int”

  11. 11

    TypeError:+不支持的操作数类型:“ NoneType”和“ int”

  12. 12

    TypeError: 不支持的操作数类型 +: 'NoneType' 和 'int' 在 while 循环中

  13. 13

    如何修复,TypeError:% 不支持的操作数类型:'NoneType' 和 'int'

  14. 14

    Python错误:+不支持的操作数类型:“ int”和“ NoneType”

  15. 15

    Python错误:+不支持的操作数类型:“ int”和“ NoneType”

  16. 16

    Python错误TypeError:+不支持的操作数类型:'function'和'function'

  17. 17

    Python(TypeError:Add不支持的操作数类型:“ undefined”和“ str”)

  18. 18

    TypeError:-:“ str”和“ int” Python不支持的操作数类型

  19. 19

    Python(TypeError:Add不支持的操作数类型:“ undefined”和“ str”)

  20. 20

    Python 2.7 TypeError:%不支持的操作数类型:“ None type”和str

  21. 21

    Python27 TypeError:类型不支持的操作数+ ='int'和'str'

  22. 22

    代码错误 Python:TypeError: 不支持 / 的操作数类型:'set' 和 'int'

  23. 23

    训练GRU模型TypeError时出现此错误:*不支持的操作数类型:'int'和'NoneType'

  24. 24

    TypeError:%的不支持的操作数类型:带有随机数生成器的'NoneType'和'tuple'?

  25. 25

    + =不支持的操作数类型:“ NoneType”和“ list”

  26. 26

    +不支持的操作数类型:“ NoneType”和“ int”

  27. 27

    类型错误:不支持 / 的操作数类型:'NoneType' 和 'float'

  28. 28

    *:'NoneType'和'NoneType'(Python)不受支持的操作数类型

  29. 29

    TypeError:*:'NoneType'和'int'不受支持的操作数类型

热门标签

归档