python中多边形的创建
我在完成创建多边形的代码时遇到问题。目标是能够创建任何多边形,但我的(def polygon)不断出错,但其他一切都可以。我知道我需要尝试在开始时输入边的数量和长度,但我就是不知道如何输入。代码允许我从菜单中选择一个数字,输入长度和边数,但之后它停止工作,我得到一个错误。以下是我所拥有的:python中多边形的创建,python,polygon,Python,Polygon,我在完成创建多边形的代码时遇到问题。目标是能够创建任何多边形,但我的(def polygon)不断出错,但其他一切都可以。我知道我需要尝试在开始时输入边的数量和长度,但我就是不知道如何输入。代码允许我从菜单中选择一个数字,输入长度和边数,但之后它停止工作,我得到一个错误。以下是我所拥有的: import math import turtle print("MENU") def main(): print ("1. Polygon Fractal") print("2. Frac
import math
import turtle
print("MENU")
def main():
print ("1. Polygon Fractal")
print("2. Fractal Shell")
print("3. Snowflake")
print("4. Fractal Tree")
print("5. Exit")
x=input("Please select a number")
if x=="1":
z=input("Please input the number of sides")
a=input("Please input length")
polygon(z,a)
def polygon(n,l):
f = (n - 2) * 180/n
for i in range(n):
t.forward(l)
t.right(180 - f)
main()
以下是我在输入多边形和长度及边的1后一直得到的错误:
Traceback (most recent call last):
File "/Users/isabelavaldes/Documents/polygon extra.py", line 27, in <module>
main()
File "/Users/isabelavaldes/Documents/polygon extra.py", line 17, in main
polygon(z,a)
File "/Users/isabelavaldes/Documents/polygon extra.py", line 21, in polygon
f = (n - 2) * 180/n
TypeError: unsupported operand type(s) for -: 'str' and 'int'
回溯(最近一次呼叫最后一次):
文件“/Users/isabelavaldes/Documents/polygon extra.py”,第27行,在
main()
文件“/Users/isabelavaldes/Documents/polygon extra.py”,第17行,主视图
多边形(z,a)
文件“/Users/isabelavaldes/Documents/polygon extra.py”,第21行,多边形
f=(n-2)*180/n
TypeError:-:“str”和“int”的操作数类型不受支持
输入()的结果是一个字符串z
传递给polygon()
时是一个字符串,因此在polygon
的第一行中,您试图从字符串(n
)中减去一个整数(2
)
您的代码会产生类似于“5-2
的结果,而不是5-2
。这就解释了TypeError:-:'str'和'int'的操作数类型不受支持。
您可以通过将
z
(和a
)强制转换为带有多边形(int(z),int(a))的整数来更正此问题。
欢迎使用StackOverflow。请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南。适用于这里。在您发布MCVE代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中,并重现您描述的问题。您发布的代码不会引发给定的错误。我已尽力更正原始发布;如前所述,代码在许多缩进错误上失败。请纠正我的猜测。你似乎有一个小小的习惯,就是问问题,然后一有答案就删除它们。只是想确保你意识到SO应该是一个好问题和答案的存储库,而不是一个快速完成作业然后删除所有痕迹的方法。