2017-02-16 13 views
0
  1. 私は、三角形が等辺か二等辺三角形か無効かをチェックするプログラムを持っています。数字のリスト(三角形の三角形)をループし、三角形のタイプをチェックする関数を書くにはどうすればよいですか?

    print("Lengths of the triangle sides: ") 
    x = int(input("x: ")) 
    y = int(input("y: ")) 
    z = int(input("z: ")) 
    
    if x == y == z: 
        print("Equilateral triangle") 
    elif x != y != z: 
        print("Scalene triangle") 
    else: 
        print("isosceles triangle") 
    

Iは(トリプレットに編成)番号のリストをループからこの関数を記述し、それらが正三角形であるかどうか複数の三角形をチェックする方法を2.Now、不等辺、二等辺三角形、または以下のコード無効?私はそれもキーボードの入力を求めるようにしたくありません。

+0

リストは '[laa、lab、lac、lba、lbb、lbc、lca、lcb、lcc、...]'という構造になっていますか? 'lij'では、エッジ' j'を持つ三角形 'i'の長さですか? –

+0

私はあなたの求めるものを得るが、100%ではない、その構造がおそらくうまくいくかのように見える。 – cmlayton

+0

しかし、あなたの質問は:*どのように私はリストでこれを行うことができますか、私は尋ねる:あなたのリストはどのように見えるのですか?コメントは**答えではありません**。それは明確化の要求でした。 –

答えて

0

まず、お客様のの第2のifの文が正しくありません。。たとえば、(x,y,z) == (1,2,1)とし、x != y != zが成り立つが、x == zなので、三角形は二等辺三角形となる。

あなたはしてこの問題を解決することができます:あなたのリストが構成されている方法

if x == y == z: 
    print("Equilateral triangle") 
elif x != y != zand x != z: 
    print("Scalene triangle") 
else: 
    print("isosceles triangle")

は、今では少しあいまいです。あなたの質問に基づいて、私はそれが[x1,y1,z1,x2,y2,z2,...,xn,yn,zn]として構成されていると思います。その場合、の形に変換して、[(x1,y1,z1),(x2,y2,z2),...,(xn,yn,zn)]の形のタプルを生成するジェネレータに渡すことができます。あなたがこれを行うことができます。

lengths = [1,1,1,2,1,2,1,2,3] # sample list 
length_it = iter(lengths) 
result = zip(length_it,length_it,length_it) 

は今、あなたは単に for x,y,z in ...解凍 にタプルを使用することができます。したがって、結果は:

lengths = [1,1,1,2,1,2,1,2,3] # sample list 
length_it = iter(lengths) 
for x,y,z in zip(length_it,length_it,length_it): 
    if x == y == z: 
     print("Equilateral triangle") 
    elif x != y != z and x != z: 
     print("Scalene triangle") 
    else: 
     print("isosceles triangle")
+1

@Tim: 'x!= y!= z'は' x!= yとy!= z'の略で、 'と'は可換です。 –

+0

曖昧さを残して申し訳ありません。今度はlength_it = iter(lst)です。どのように私は(lst)を定義するでしょうか? – cmlayton

+0

@cmlayton:答えの途中で申し訳ありませんが、私はリストの名前について私の心を変えました... –

0

リストのリストを作成します。

triangles = [[3,4,5],[5,12,13],[1,2,3]] 

は次に、リストをループ

for triangle_sides in triangles: 
    x = triangle_sides[0] 
    y = triangle_sides[1] 
    z = triangle_sides[2] 
    if x == y == z: 
     print("Equilateral triangle") 
    elif x != y != z: 
     print("Scalene triangle") 
    else: 
     print("isosceles triangle") 

はまた、あなたの文は非常に適切ではない場合ことに注意してください - 彼らはいくつかの二等辺三角形に失敗します。それを訂正させていただきます。