2017-11-30 1 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) 

내가 입력은 다시 "당신은 .... 종료"다시Python : 1에서 10 사이의 입력을 얻으려면 어떻게해야합니까? 1과 10 사이의 숫자, 그러나 그것은 출력 됨

+1

'[1, 11]'은 닫힌 간격이 아니라 두 요소 목록입니다. (또한 파이썬 3을 사용하는 경우'input'은 항상 문자열을 반환합니다.) – user2357112

+0

'[1]에없는 side1이 _1에서 11까지의 값을 검사하지 않으면; 이 두 개의 특정 개별 값만 검사합니다. 대신에 1 <= side1 <= 11 '이 아니라면'. –

+1

더 자세한 제목 질문이 필요하다고 생각합니다. "파이썬", "조건", "루프"등과 같은 키워드를 언급하십시오. – rubicks

답변

3

input()는 문자열을 반환 a 만 저장 정수 동안. 둘째, [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을 포함하려는 경우 '범위 (1,12)'를 원해야합니다. 또한 '목록 (...)'불필요합니다. –

+0

@ChrisCameron 지적 해 주셔서 감사합니다. 최근 편집을 참조하십시오. – Ajax1234

관련 문제