Cute Running Puppy

Python

Python_06Day

jwjin 2019. 2. 20. 22:16
728x90

# 구문 탈출 명령, while~else구문 , for 반복구문

while True를 쓰게 되면 안에 있는 코드가 무한 반복됩니다. 이것을 멈추려면 break을 써야 끝을 낼 수 있습니다.

while True :   
a = input('종료를 원하시면 o을 입력하세요')
if a == 'o' :
break

예시입니다. 엔터를 계속 누르면 누르는 만큼 문장이 뜨게 되는데 이때 o 를 입력하면 종료가 됩니다.

# 아이디는 admin , 비밀번호는 1234입니다
# 사용자에게 로그인 정보를 입력하도록 하여 올바른 정보를 입력하면 로그인 성공 출력 후 프로그램 종료
# 잘못된 정보를 입력하면 안내 메시지 출력 후 재입력을 받도록 코드를 구현

while True :
id = input('아이디 입력 : ')
pw = input('비밀번호 입력 : ')

if id == 'admin' and pw == '1234' :
print('로그인 성공')
break
else :
print('로그인 정보가 일치하지 않습니다')

문제입니다. 아이디와 비밀번호를 정해놓고 아이디와 비밀번호를 맞게 입력하면 로그인 성공 출력, 틀리면 재입력을 받도록 하라는 문제입니다.

틀린 정보를 입력하면 입력받는 창이 다시 나타나야 하기 때문에 while True 안에 아이디와 비밀번호 입력창을 저장합니다.

그런후 아이디와 비밀번호를 맞게 입력하면 로그인 성공! 과 구문 탈출 명령을 씁니다(로그인 된후에는 입력받는 창이 뜨면 안되기 때문에)

아닌 경우는 로그인 정보가 일치하지 않는다고 출력되게 합니다.

다음은 while~else구문입니다. 이 구문은 파이썬에만 존재하는 구문 입니다.

실행조건이 거짓일 경우 else 가 실행 됩니다.(break 일때는 실행 되지 않음) 반복이 정상적으로 마무리 된 경우에만 실행됩니다.

n = 1
count = int(input('횟수 입력 : '))
while n <= count :
print(f'n = {n}')
n += 1
else :
print('while 문이 실행되지 않습니다')

예시 인데 횟수를 입력하면 입력한 만큼 n이 나타납니다.( 횟수에 3을 입력하면 n이 3까지 나타남)

다음은 for 반복 구문입니다. while의 불편함을 개선하기 위해 만들어진 반복구문 입니다.

# for 문으로 1부터 10까지 출력
for v in 1,2,3,4,5,6,7,8,9,10 :
print(v)

쉽게 이해하기 위해 이렇게 나타냈습니다. 원래 이렇게 나타내진 않습니다.

형태는 이렇습니다. for v in ~~ : ~~ 

위의 코드를 실행하면 1부터 10까지 나타납니다. while 보다 간단하게 나타낼 수 있습니다.

위의 예제를 range()함수를 이용하여 나타낼 수 있는데

for i in range(1,11) : # 1부터 11 전까지
print(i)

range(시작할 숫자 , 끝낼 숫자 + 1) //  range는 이상하게 끝낼숫자에 1을 더해야 그숫자 전까지 나타낼 수 있습니다. (이유는 모름)

# 1부터 100까지 합계를 구하여 출력


total = 0
# for i in range(1, 101) # 1 부터 101 전까지
for i in range(1,101, 1) : # 1부터 101전까지 1씩 증가
# print(i)
total += i

print(f'total = {total}')


# for i in range(100 , 0, -1) : # 100부터 0전까지 1씩 감소

예시 문제 입니다. 1부터 100까지 합계를 출력하라는 문제입니다. 

우선 total을 0이라 설정, 1부터 100까지 출력되게 하고 total 에 i씩 더하라는 코드를 작성합니다.

그러면 1부터 100까지 총 합이 나타납니다.













728x90

'Python' 카테고리의 다른 글

Python_08Day  (0) 2019.02.22
Python_07Day  (0) 2019.02.21
Python_05Day  (0) 2019.02.19
Python_04Day  (0) 2019.02.15
Python_03Day  (0) 2019.02.14