2016-10-08 10 views
0

私は、印刷したい矩形の数をユーザーに尋ねるこのプログラムを書いています。また、それぞれの幅と高さを尋ね、三角形を印刷します。それぞれの高さと幅を尋ねた後、次の矩形に移動します。更新された変数をループ内に格納していますか?

これはすべて私が作ったプログラムを使ってうまく動作しますが、最終的にはユーザーが作成したすべての矩形の総面積を表示したいと思います。コードを更新してこれを達成するにはどうすればよいですか?どのようにして最初の矩形の領域を保存し、この最初の領域に2番目の領域の領域を追加することができますか?ここ はコードです:あなただけの総面積を蓄積

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 
+0

間違い間違ったタグ – HogRider123

答えて

3

いかが?あなたのループ上

は、実行します。

area = 0 

その後、どこかにあなたのループ内で、ユーザーからのwhを持った後、あなたはループが終了したらちょうど

area += w * h 

を行い、 areaには総面積が含まれます。

+0

私はそれについて考えていないために愚かな感じ:、とりわけ、しかし、ここであなたは具体的には約尋ねた総面積の問題を解決するための最小限の手順です。うまく動作します – HogRider123

2

このコードでは、whileループの代わりにforループを使用して、カウンターを追跡し、「*」文字列ではなく変数に数値を保持し、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) 
関連する問題