我被卡住了,我需要使用从getDim()
获得的宽度和长度在乌龟图形中绘制一个bin,然后将颜色应用于getColor
的can和bin。我不明白如何在我的getDraw
函数中调用这些函数,而不会不必要地重复用户输入。我还需要填充垃圾箱的底部行,但是许多罐子都适合给定长度,我很少使用乌龟图形,所以我迷路了。
def main():
candiam = 2.5
height, width, length = getDim()
numofcans = getCans()
bincolor, cancolor = getColor()
print ("The bin dimensions are: ",height," inches high", width," inches wide and", length," inches long")
print ("You are recycling ",numofcans," cans.")
def getDim():
height = int(input("Enter the bins height (40 to 60): "))
width = int(input("Enter the bins width (40 to 60): "))
length = int(input("Enter the bins length (40 to 60): "))
while height not in range(40,61) and width not in range(40,61) and length not in range(40,61):
print("You entered a wrong value")
height = int(input("Enter the height (40 to 60: "))
width = int(input("Enter the width(40 to 60: "))
length = int(input("Enter the length (40 to 60: "))
if height in range(40,61) and width in range(40,61) and length in range(40,61):
return height, width, length
def getCans():
cans = int(input("Enter the amount of cans (10,1000): "))
if cans in range(10,1001):
return cans
while cans not in range(10,1001):
cans = int(input("Invalid number, please enter the amount of cans (10,1000): "))
return cans
def getColor():
bincolor = int(input("Color menu \n 1 = 'blue' \n 2 = 'red' \n 3 = 'green' \n 4 = 'magenta' \nPick the bin color: "))
while bincolor not in range(1,5):
bincolor = int(input("Color menu \n 1 = 'blue' \n 2 = 'red' \n 3 = 'green' \n 4 = 'magenta' \nPick the bin color: "))
while bincolor in range(1,5):
if bincolor == 1:
bincolor = "blue"
elif bincolor == 2:
bincolor = "red"
elif bincolor == 3:
bincolor = "green"
elif bincolor == 4:
bincolor = "magenta"
cancolor = int(input("Color menu \n 1 = 'blue' \n 2 = 'red' \n 3 = 'green' \n 4 = 'magenta' \nPick the can color: "))
while cancolor not in range(1,5):
cancolor = int(input("Color menu \n 1 = 'blue' \n 2 = 'red' \n 3 = 'green' \n 4 = 'magenta' \nPick the can color: "))
while cancolor in range(1,5):
if cancolor == 1:
cancolor = "blue"
elif cancolor == 2:
cancolor = "red"
elif cancolor == 3:
cancolor = "green"
elif cancolor == 4:
cancolor = "magenta"
return bincolor, cancolor
def drawBin():
main()
答案 0 :(得分:0)
保存你得到的颜色和你得到的尺寸并将它们传递回绘图箱... getColor
和getDim
两者都明确地从用户那里得到输入......这是所有他们做的......我不确定如果不是用户输入你会期望什么
getColor中的第二个while循环也不会使用它
def getColor():
bincolor = int(input("Color menu \n 1 = 'blue' \n 2 = 'red' \n 3 = 'green' \n 4 = 'magenta' \nPick the bin color: "))
while bincolor not in range(1,5):
bincolor = int(input("Color menu \n 1 = 'blue' \n 2 = 'red' \n 3 = 'green' \n 4 = 'magenta' \nPick the bin color: "))
if bincolor == 1:
bincolor = "blue"
elif bincolor == 2:
bincolor = "red"
elif bincolor == 3:
bincolor = "green"
elif bincolor == 4:
bincolor = "magenta"