【发布时间】:2016-09-25 22:12:47
【问题描述】:
所以,首先,这是要求:
- 用户从 6 个列表中选择 3 个形状;
- 用户选择大小、填充颜色和线条颜色;
- 用户不能两次选择相同的形状
- 形状应均匀分布,各占屏幕的 1/3
到目前为止,这是我的代码:
import turtle
turtle = turtle.Screen()
def circle():
def triangle():
def square():
def pentagon():
def hexagon():
def heptagon():
for list in ["1.Circle","2.Triangle","3.Square","4.Pentagon","5.Hexagon","6.Heptagon"]:
print(list)
shape1 = input("Choose one number from the following:")
if shape1 == "1":
for list in ["2.Triangle","3.Square","4.Pentagon","5.Hexagon","6.Heptagon"]:
print(list)
shape2 = input("Choose one number from the following:")
if shape2 == "2":
elif shape2 == "3":
elif shape2 == "4":
elif shape2 == "5":
elif shape2 == "6":
else:
print("Incorrect input. Please try again.")
if shape1 == "2":
if shape1 == "3":
if shape1 == "4":
if shape1 == "5":
if shape1 == "6":
else:
print("Incorrect input. Please try again.")
基本上,我非常困惑。我能找到在用户选择的一行中绘制三个形状的唯一方法是做每一个可能的结果 - 123、124、125、126、132、134...等等,这将永远需要,看起来很可怕,而且那么我每次都必须编写乌龟命令。如您所见,我尝试使用 def,但在我较小的测试代码中它根本不起作用,所以我也不确定我是否理解正确。
除此之外,我如何确保所有形状或它们应该在哪里?我能看到的唯一方法是使用不同的“goto”为每个结果编写单独的代码。
有没有办法让用户同时输入所有三个选项(“123”、“231”等),然后让程序遍历每个数字并依次绘制?有没有办法将每个数字分配给一组绘制形状的代码?我对这一切都很陌生。我很感激你能给我的任何帮助。谢谢!
【问题讨论】: