2014-11-12 6 views
-1

while 루프를 사용하여 목록에 사용자 int 입력을 추가하는 방법은 무엇입니까? 따라서 사용자가 입력 한 숫자가 0보다 크면 목록에 추가되지만 음수 일 때는 while 루프가 중단되어 다음 작업을 계속 수행합니다. 저는 파이썬 3에서 총 초보자입니다. 몇 가지 시도했지만 작동하지 않았습니다. 여기에 내가 뭘하려 :while 루프에서 목록에 추가 Python 3

numbers=[] 
    number = int(input("Please input a number: ")) 
    while number>=0: 
     numbers.append(number) 
     if number <0: 
      break 
+1

를 사용할 수 있습니다 ... – jonrsharpe

+0

몰랐어 .. 감사합니다. – Leo

답변

0

당신이 두 개의 논리 오류가 있습니다

  • 먼저 당신이 while 루프를 입력하면, 당신은 결코 번호를 다시 묻지 않습니다 있습니다. 루프 내에서 새 번호를 가져와 다음 반복시 수행 할 작업 (목록에 추가 또는 루프 중지)을 결정해야합니다.
  • 둘째, if number < 0 테스트가 불필요합니다. 루프는 숫자가 0보다 크거나 같을 때만 실행됩니다. 그래서 루프 안쪽에는 숫자가 0보다 작을 수는 없습니다. 위의 while에있는 테스트로는 충분합니다.

개인적으로 루프를 무한 루프 while True: ...으로 다시 작성하고 루프 내부에서 번호를 묻습니다. 그 숫자가 <0이라면, 나는 루프에서 break을 줄 것입니다. 그렇지 않으면 루프의 나머지 부분은 새 번호를 목록에 추가하는 것입니다.

그러나 수많은 솔루션이 있습니다. 행운을 빕니다!

+0

고마워요! 정말 도움이되었습니다! – Leo

0

당신은 당신은`while` 루프 내에서`number`를 업데이트 결코를위한 루프 대신 같은이 의사 코드를

if number<0 
    // do nothing or something or whatever 
else: 
    yourRange = range(0,number) 
    for count in yourRange: 
     numbers.append(number) 
+0

시간을내어 답변 해 주셔서 감사합니다. – Leo

관련 문제