728x90
for 문을 이용하는 강의
파이썬은 복수형을 이해하지 못하기 때문에 아래 예시에서는 리스트 형으로 이해하여
오른쪽 처럼 출력하게 하게 된다
과제
5.2 Write a program that repeatedly prompts a user for integer numbers until the user enters 'done'. Once 'done' is entered, print out the largest and smallest of the numbers. If the user enters anything other than a valid number catch it with a try/except and put out an appropriate message and ignore the number. Enter 7, 2, bob, 10, and 4 and match the output below
5.2 사용자가 '완료'(done)를 입력할 때까지 정수를 입력하라는 메시지를 반복적으로 표시하는 프로그램을 작성하십시오.
'완료'가 입력되면 가장 큰 숫자와 가장 작은 숫자를 인쇄합니다.
사용자가 유효한 숫자가 아닌 다른 것을 입력하면 try/except로 이를 포착하고 적절한 메시지를 표시하고 숫자를 무시합니다.
7, 2, bob, 10 및 4를 입력하고 아래 출력과 일치시키시오
결과 값
Invalid input
Maximum is 10
Minimum is 2
작성한 코드는
largest = 0
smallest = 1000
while True:
num = input("Enter a number: ")
if num == "done":
break
try:
num = int(num)
except:
print("Invalid input")
continue
if num>largest:
largest=num
elif num<smallest:
smallest=num
print("Maximum is", largest)
print("Minimum is", smallest)
이렇게 해서 아래처럼 결과가 잘 나오는데
이런 오류가 나온다. 왜일까.. 하여 다른 사람들 예제를 찾아보다가
largest = None
smallest = None
while True:
num = input("Enter a number: ")
if num == "done":
break
try:
num = int(num)
except:
print("Invalid input")
continue
if largest == None:
largest=num
elif num>largest:
largest=num
if smallest ==None:
smallest=num
elif num<smallest:
smallest=num
print("Maximum is", largest)
print("Minimum is", smallest)
이와 같이 작성하니까 제대로 점수가 맞춰쪘다.
꼭 none을 이용해야 하는 것인가..
'공부 > 파이썬' 카테고리의 다른 글
python Data structures 8.4 list (0) | 2022.01.15 |
---|---|
Python Data Structures 3주차 (0) | 2022.01.14 |
파이썬의 다양한 string 함수 예시 (0) | 2022.01.14 |
python data structures 1주차 -string (0) | 2022.01.14 |
모두를 위한 프로그래밍 5주차 (0) | 2022.01.12 |
댓글