【发布时间】:2017-01-08 21:24:29
【问题描述】:
我要做的是创建一个数学函数,它接受输入 n 并输出 a。我输入了一个更大的数字,它通过while loop,从该值中减去一个,打印a,并重复直到n 的某个值。我想要做的是将它放入字典中,n 作为键,a 作为值,并使用它通过matplotlib 绘制图形。 Looking around a bit there,它似乎不需要字典,只需要列表或数组,因此最好制作单独的键和值列表,然后输入,并更改标记等。这是我到目前为止的代码:
def intan(n=3):
a = 180 -(360/n)
while n >= 3:
print(a)
n -= 1
intan(n)
intan(4)
'''Returns strange output of 90.0, 60.0, 90.0,
instead of just the first two'''
如您所见,代码中仍然存在一个稍微奇怪的错误,它多次循环输出输出,但经过一些修补后,我无法完全弄清楚这是为什么。谢谢各位!
更新:StephenRauch 的有用建议修复了奇怪的错误。
【问题讨论】:
-
那么,您的问题是如何返回字典,如何在
matplotlib中绘制字典,或者为什么代码返回 90.0 两次? -
你混淆了递归和循环。您可能需要做其中之一。
-
将
a=...移动到while循环中并移除递归intan(n)调用。 -
目标是为 n = 4 和 3 绘制
180 -(360/n)? -
循环是在循环中多次运行相同的代码,递归是调用相同的函数,然后从先前的调用返回到该函数,多次运行相同的代码。见en.wikipedia.org/wiki/Iteration#Computing 和en.wikipedia.org/wiki/Recursion_(computer_science)
标签: python python-3.x dictionary matplotlib