파이썬 - 조건문, 반복문

JiWOn·2023년 1월 3일
0

🦁멋쟁이 사자처럼 AI School 8기 강의
👩‍💻 박두진 강사님 강의 2일차 (2023.1.3)

조건문

특정 조건에 따라서 다른 코드를 실행

예제풀자!

1.학점내기

📝 점수보고 학점내기

point = 87
if point>=90:
	print("A")
elif point>=80:
	print("B")
elif point>=70:
	print("C")
elif point>=60:
	print("D")
else:
	print("F")

ATM 기기 구현

알고리즘
1. 계좌 생성 account:10000
2. 입금, 출금 입력 : 입금(0), 출금(1) : command 변수에 저장
3. 금액입력 : money 변수에 저장
4. 입금인경우

  • 입력받은 금액을 계좌에 추가
  1. 출금인 경우
  • 잔액이 부족한 경우 : 'xx만큼의 잔액이 부족합니다.' 출력
  • 잔액이 충분한 경우 : 'xx의 잔액이 출금되었습니다.' 출력
  1. 계좌 잔액 출력 : 'xx 잔액이 남았습니다.' 출력

👩‍💻 내가 만든 코드

# 1. 계좌생성 : account : 10000
account = 10000
# 2. 입금, 출금 입력 : 입금(0), 출금(1) : command 변수에 저장
command = int(input("입금을 하시려면 '0'번, 출금을 하시려면 '1'번을 눌러주세요 :"))

# 3. 금액입력 : money 변수에 저장
money = int(input('금액을 입력해주세요 : '))

# 4. 입금인 경우
if command==0:
#    4-1. 입력받은 금액을 계좌에 추가 
    account += money

# 5. 출금인 경우
else :
#   5-1. 잔액이 부족한 경우 : 'xx의 잔액이 부족합니다.' 출력
    if account<money:
        print('{}의 잔액이 부족합니다.'.format(money-account))    
#   5-2. 잔액이 충분한 경우 : 'xx의 잔액이 출금되었습니다.' 출력
    else :
        account -= money
        print('{}의 잔액이 출금되었습니다.'.format(money))
# 6. 계좌 잔액 출력 : 'xx 잔액이 남았습니다.' 출력
print(f'{account} 잔액이 남았습니다')

삼항연산자

간단한 조건문을 한줄의 코드로 작성하기
<true data> if <codition> else <false data>

result = '같음' if a==b else '다름'


반복문

특정 코드를 반복적으로 실행 -> 코드의 유지보수 향상

while문

while문 무한루프에 빠지지 않도록 조심!
자세한 내용은 while문 정리한 내용으로 확인해주세요! <- 이 링크클릭

for문

  • _ 식별자로 사용되지만 코드내에서 사용하지 않는 식별자일 때 사용

range()

리스트를 만들어주는 함수
range(end), range(start,end), range(start,end,stride)

break, continue

break

반복되는 코드 중단

continue

아래에 있는 코드를 실행하지 않고 다시 반복문으로 돌아가서 코드를 실행

enumerate()

반복문에서 리스트 데이터에 idex 숫자를 출력할 때 사용

📝 예시

name='김지원'
for idx,word in enumerate(name):
    print(idx,word)

💬 결과
0 김
1 지
2 원

  • enumerate(list)
    • 튜플로 받아옴

zip()

같은 인덱스의 데이터끼리 튜플로 묶어서 리스트로 출력

  • 데이터의 개수가 맞지 않을 땐, 작은 데이터의 수로 맞춤

📝예시

players = ['손흥민','메시','호날두']
goals = [30,20,10]
games = [50,30,40,20] 
print(list(zip(players,goals)))
for data in zip(players, goals,games):
    print(data)

💬 결과

[('손흥민', 30), ('메시', 20), ('호날두', 10)]
('손흥민', 30, 50)
('메시', 20, 30)
('호날두', 10, 40)

게임만들기

  • 랜덤한 숫자 먼저 맞추기 게임
  1. 0~9의 랜덤한 숫자 생성
  2. 숫자를 입력한 횟수를 카운팅하는 변수 선언 : count
  3. 아래내용 반복
    3-1. 숫자를 입력받음
    3-2. 카운팅 +1 추가
    3-3. 랜덤한 숫자와 입력받은 숫자가 같은지 확인
    3-4. 같으면 카운팅 횟수 출력 > 게임종료
    3-5. 다르면 up, down 출력하기

👩‍💻 내 코드~

# 1. 0~9의 랜덤한 숫자 생성
import random
random_num = random.randint(0,9)

# 2. 숫자를 입력한 횟수를 카운팅하는 변수 선언 : count
count=0

# 3. 아래내용 반복
while True:
#   3-1. 숫자를 입력받음
    input_num = int(input("숫자를 입력하세요 : "))
#   3-2. 카운팅 +1 추가
    count +=1
#   3-3. 랜덤한 숫자와 입력받은 숫자가 같은지 확인
    if random_num == input_num:
#   3-4. 같으면 카운팅 횟수 출력 > 게임종료
        print(count,"번만에 성공!")
        break
#   3-5. 다르면 up, down 출력하기
    else:
        result = 'up' if random_num>input_num else 'down'
        print(result)

0개의 댓글