在循环中存储更新的变量?

2024-06-06 08:32:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了一个程序,询问用户想要打印多少个矩形。它还要求每个三角形的宽度和高度,并打印三角形。在询问每个矩形的高度和宽度之后,它会移到下一个矩形上,依此类推

这一切都可以很好地使用我的程序,但在最后我想打印出所有的矩形,用户创建的总面积。如何更新代码并实现这一点?如何存储第一个矩形的区域并将第二个矩形的区域添加到第一个区域,依此类推? 代码如下:

size = input("How many rectangles?" ) #asks the number of rectangles 
i=1
n = 1
while i <= size:
    w = input("Width "+str(n)+"? ") #asks for width of each rectangle
    h = input("Height "+str(n)+"? ") #asks for height of each rectangle
    n=n+1
    h1=1
    w1=1
    z = ""
    while w1 <= w:
        z=z+"*"
        w1+=1
    while h1<=h:
        print z
        h1+=1
    i+=1

Tags: of代码用户程序区域inputsize宽度
2条回答

你把总面积加起来怎么样

在回路上方,执行以下操作:

area = 0

然后,在循环中的某个地方,从用户那里得到wh之后,就这样做

area += w * h

完成循环后,area将包含总面积

这段代码实际上应该使用for循环而不是while循环来跟踪计数器,在变量中保留数字而不仅仅是“*”字符串,在一些地方使用+=而不是x=x+1,除此之外,这里有一个最小的步骤来解决您特别问到的总面积问题:

size = input("How many rectangles?" ) #asks the number of rectangles 
i=1
n = 1
area = 0
while i <= int(size):
    w = float(input("Width "+str(n)+"? ")) #asks for width of each rectangle
    h = float(input("Height "+str(n)+"? ")) #asks for height of each rectangle
    n+=1
    h1=1
    w1=1
    z = ""
    while w1 <= w:
        z=z+"*"
        w1+=1
    while h1<=h:
        print(z)
        h1+=1
        area += len(z)
    i+=1
print('total area = ',area)

相关问题 更多 >