파이썬- 2회차

박형준·2024년 5월 29일
post-thumbnail

*제어문 ( if , while, for )

if 제어문

- money = True
**if money:**
---- print(" enable ")
**else:**
---- print(" unenable ") 
-> enable , ( money가 True면 enable 출력 )
- money = False
if money:
---- print(" enable ")
else:
---- print(" unenable ") 
-> unenable , ( money가 False면 unenable 출력 )

비교 연산자

  • x > y, x < y, x == y, x != y, x >= y, x <= y
- money = 5000
if money >= 6000:
----print(" enable ")
else:
----print(" unenable ")    
-> unenable , ( money가 6000이상이면 enable 출력하고 아니면 unenable 출력 )    

*and, or, not

x and y[두가지 조건을 만족할때], x or y[두가지중 하나만 만족], not x [x가 거짓이면 참이됨 ]

- money = 2000
card = True
**if money >= 6000 or card:**
----print(" enable ")
else:
----print(" unenable ")
-> enable , ( money가 6000 이상이거나 card가 True면 enable 출력 )

리스트나 문자열을 이용한 조건문 사용가능

- get = ["money", "card", "phone"]
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
**if "card" in get:**
----print(" enable ")
else:
----print(" unenable ")
-> enable , ( list get 안에 card가 있으면 enable 출력 )

*보다 다양한 조건에 따른 결과값 출력 ( if ~ else ⇒ if elif )

- get = ["money", "phone"]
card = True
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
if "money" in get:
----print(" get enable ")
**elif card:**
----print(" card enable ")
else:
----print(" unenable ")
-> get enable , ( get list 안에 money가 있으면 get enable 출력하고,
get list 안에 money가 없고, card가 True면 card enable 출력 )

*조건부 표현식 : if 문을 가독성이 좋은 한줄로 표현하는 방법

- point = 70
message = "합격입니다." if point >=60 else "불합격 입니다."
print(message)
-> 합격입니다. , ( point가 60 이상이면 "합격입니다." 출력 )

*while 문

-while 조건문 : 참이면 아래 문장 수행 거짓이면 종료

- hit = 0 ⇒ 나무 찍는 횟수 
  **while hit < 10:** ⇒ 나무찍는 횟수가 10보다 적을 동안에 반복.
  ----hit = hit + 1
  ----print("나무를 %d번 찍었습니다." %hit)    
  ----if hit == 10:    ⇒ 나무찍는 횟수가 10번이면 아래 출력 
      --------print("나무가 넘어 갑니다.")
  -> 나무를 1번 찍었습니다.
나무를 2번 찍었습니다.
나무를 3번 찍었습니다.
나무를 4번 찍었습니다.
나무를 5번 찍었습니다.
나무를 6번 찍었습니다.
나무를 7번 찍었습니다.
나무를 8번 찍었습니다.
나무를 9번 찍었습니다.
나무를 10번 찍었습니다.
나무가 넘어 갑니다.

*x번호 를 입력하세요. (보기를 주고 입력 받기 )

- prompt = """
1) Add
2) Del
3) List
4) Quit
Enter number: """
number = 0
ㅡㅡㅡㅡㅡㅡㅡㅡ
**while number != 4 :**
----print(prompt)
----number = **int(input())** , ( 번호 보기를 출력하고, number를 입력해서 4를 입력하면 빠져나오기 )

-break를 통해 강제로 빠져나오기 
- coffee = 5
money = 300
while money :
----print( "커피한잔 제공" )
----coffee = coffee - 1
----print( "커피가 %d개 남았습니다" %coffee )
----if coffee == 0 :
--------print( "커피가 없습니다" )
--------break , 
-> 커피한잔 제공
커피가 4개 남았습니다
커피한잔 제공
커피가 3개 남았습니다
커피한잔 제공
커피가 2개 남았습니다
커피한잔 제공
커피가 1개 남았습니다
커피한잔 제공
커피가 0개 남았습니다
커피가 없습니다 
( money가 있을 경우 coffee를 제공하고, coffee가 0이 되면 
"커피가 없습니다"를 출력 후 빠져나오기 )
- coffee = 10
while True :
----**money = int(input("돈을 넣어 주세요: "))**
----if money == 500 :
--------print(" 커피를 드립니다 ")
--------coffee = coffee - 1
----elif money > 500 :
--------print(" 거스름돈 %d원을 드립니다" %(money - 500))
--------coffee = coffee - 1
----else:
--------print(" 금액이 부족합니다 ")
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
----**if coffee == 0 :**
--------print(" 커피가 다 떨어졌습니다 ")
--------break
-> 돈을 넣어 주세요: 500
-커피를 드립니다 
돈을 넣어 주세요: 1000
-거스름돈 500원을 드립니다
돈을 넣어 주세요: 300 ,   ( 500원과 500원 이상 넣으면 coffee가 1씩 감소하고, 
coffee 10개를 소비하면 빠져나오기 ) 

*1부터 10까지 홀수 또는 짝수만 출력

- a = 0
while a < 10 :
----a = a + 1
----if a % 2 == 0 :
--------print(a)
-> 2
4
6
8
10 , ( 짝수 만 출력 )
    
- a = 0
while a < 10 :
----a = a + 1
----**if a % 2 == 0 : continue**
----print(a)    
-> 1
3
5
7
9 , ( a가 짝수인 경우에는 continue 문을 통해 반복문의 처음으로 돌아가게 됩니다. 
따라서 짝수일 때는 아래의 print(a) 문이 실행되지 않고, 홀수일 때만 해당 수가 출력됩니다 )

*for문 : for 변수 in (리스트, 튜플, 문자열 )

- list = ["apple", "banana", "orange"]
**for i in list :**
----print(i)
-> apple
banana
orange , ( 리스트 안에 있는 과일을 반복적으로 출력 )

*점수 리스트를 만들고 합격 / 불합격

- point = [90, 88, 59, 60, 77]
no = 0
for i in point :
----no = no + 1
----if i >= 60 :
--------print( "%d째 점수는 합격입니다" %no )
----else :
--------print( "%d째 점수는 불합격입니다" %no )
-> 1째 점수는 합격입니다
2째 점수는 합격입니다
3째 점수는 불합격입니다
4째 점수는 합격입니다
5째 점수는 합격입니다 , ( list 안의 점수를 순서대로 60이 넘으면 합격 출력, 아니면 불합격 출력 )

*continue 를 사용해서 합격만 출력되도록

- points = [ 90, 88, 59, 50, 47 ]
number = 0
for point in points:
----number = number + 1
----**if point < 60: continue**
----print("%d 점수는 합격 입니다." %number )
-> 1 점수는 합격 입니다.
2 점수는 합격 입니다 

*for 에 range [범위]

- add = 0
**for i in range(1, 11) :**
----add = add + i
----print(add)
-> 1
3
6
10
15
21
28
36
45
55 , ( add 값을 1부터 10까지 증가하여( i의 값 ) 더해주기 )

*구구단 만들기

- for i in range(1, 10) : # 1단부터 9단까지
----for j in range(1, 10) : # 곱셉 뒷자리 숫자
--------print(i * j, **end = " "**)
----print(" ") 
-> 1 2 3 4 5 6 7 8 9  
2 4 6 8 10 12 14 16 18  
3 6 9 12 15 18 21 24 27  
4 8 12 16 20 24 28 32 36  
5 10 15 20 25 30 35 40 45  
6 12 18 24 30 36 42 48 54  
7 14 21 28 35 42 49 56 63  
8 16 24 32 40 48 56 64 72  
9 18 27 36 45 54 63 72 81 , ( range를 이용해서 i와 j의 값을 순차적으로 늘려서 곱해주기 )

0개의 댓글