2017-11-30 13 views
-5
while True: 
    print ("wanna exit? type a number that not between(1-11)range") 
    side1 = input("Type 1st side: ") 
    side2 = input("Type 2st side: ") 
    side3 = input("Type 3rd side: ") 
    a= [1,11] 
    if (side1 not in a) : 
      print("You exit,goodbye! ") 
      break 
    else: 
      a = int(side1) 
      b = int(side2) 
      c= int(side3) 
      perimeter = (a + b +c) 
      print ("The perimeter of triangle is :", perimeter) 

a店整数のみながら私は入力1と10の間の数が、しかし、それは「....あなたは終了」outputed何度も何度もPython:1から10の間で入力を取得するにはどうすればよいですか?

+1

'[1、11]'は閉じた間隔ではなく2要素のリストです。 (また、Python 3を使用している場合、 'input'は常に文字列を返します。) – user2357112

+0

' {1,11} 'にないside1が_1の範囲内の値をチェックしません。それらの2つの特定の個々の値のみをチェックします。代わりに '1 = <= side1 <= 11'ならあなたは' ' –

+1

私はあなたがよりわかりやすいタイトルの質問が必要だと思います。 "Python"、 "condition"、 "loop"などのいくつかのキーワードを挙げてください。 – rubicks

答えて

3

input()、文字列を返します。次に、[1, 11]のリストだけでなく、一連の値を作成する必要があります。

side1 = int(input("Type 1st side: ")) 
side2 = int(input("Type 2st side: ")) 
side3 = int(input("Type 3rd side: ")) 
a= range(1, 12) 
+1

OPは閉じられた範囲の一部として11を含めることを意図していた場合、 'range(1,12)'が必要です。 (...) 'は不要です –

+0

@ChrisCameronそれを指摘してくれてありがとう。私の最近の編集を見てください。 – Ajax1234

関連する問題