我无法让它正常运行,我必须使用3个函数,其目的就是我将它们设置为的目的。
def lw():
l = input("Enter the length of your rectangle: ")
w = input("Now enter the width of your rectangle:")
return l, w
def ap():
l,w = lw()
area = l * w
perimeter = 2*1 + 2*w
return area, perimeter
def main():
area,perimeter = ap()
print("With a length of", l ."and a width of", w)
print("the area of your rectangle is", area)
print("the perimeter of your rectangle is", perimeter)
if __name__ == "__main__":
main()
答案 0 :(得分:0)
这应该有效
def lw():
l = input("Enter the length of your rectangle: ")
w = input("Now enter the width of your rectangle:")
return l, w
def ap():
l,w = lw()
area = l * w
perimeter = 2*1 + 2*w
return l, w, area, perimeter
def main():
l,w,area,perimeter = ap()
print("With a length of", l ,"and a width of", w)
print("the area of your rectangle is", area)
print("the perimeter of your rectangle is", perimeter)
if __name__ == "__main__":
main()
我做了两处更改:在l
函数中传递w
和ap()
,并在main()
函数中访问它们。
答案 1 :(得分:0)
Heyo,
我可以看到您的代码存在许多问题:
print
函数中的第一个main
语句似乎是调用在该函数范围内不存在的变量。除了l
和w
之外,您还需要从ap()
返回area
和perimeter
的值。此声明的参数中也有轻微的拼写错误(.
应该是,
。2
乘以1
而非2
乘以l
,导致l
无效。string
值,而不是数值。如果您希望能够计算任何内容,则需要将这些内容传递到int()
或float()
并返回这些函数的结果。