결합
코드는 실제로 매우 가까운,하지만 당신은 몇 가지 문제가 있습니다. 당신은 제대로 integer1
및 integer2
의 유효성을 검사하지 않는
- (I 의심하지만 방금 대체 값을 인쇄하고 있기 때문에 당신이 알고)를
- 루프 테스트가 중단되었습니다. "
i
"이 integer1
보다 작고 integer2
이 0이 아님을 의미합니다. "
당신은 또한 몇 가지 방법에 코드를 향상시킬 수
- 를 귀하의 의견뿐만 아니라> = 1, 또한 정수는 것을 보장.
while
루프 대신 for
루프를 사용하면 파이썬의 우수한 iterables 지원을 사용합니다.
여기에 어떤 사용자가 입력하는 정수되었는지 확인하는 방법은 다음과 같습니다 여기
integer1 = 0
while not integer1:
try:
# raw_input() ensures the user can't type arbitrary code
# int() throws a ValueError if what they typed wasn't an integer
integer1 = int(raw_input("Enter the first integer: "))
if integer1 < 1:
print "You must enter an integer greater than 0!"
integer1 = 0 # so that our while statement loops again
except ValueError:
# the user typed something other than an integer
print "You must enter an integer!"
while
, try
및 if
문은 사용자가 이전에 유효한 정수를 입력하도록 강요 될 수 있도록 여러분의 코드가 계속됩니다. 여기에 사용자에게 표시의 예 :
Enter the first integer: 6.6
You must enter an integer!
Enter the first integer: -5
You must enter an integer greater than 0!
Enter the first integer: sys.exit(0)
You must enter an integer!
Enter the first integer: 12
Enter the second integer:
는 그리고 이것은 내가 루프 설정 권하고 싶습니다 방법입니다
# min() returns the smallest of its arguments
# xrange() iterates over a sequence of integers (here, starting with 1 and
# stopping at min(integer1, integer2))
for i in xrange(1, min(integer1, integer2) + 1):
# magic goes here!
문서 링크 :