코드네임 :

파이썬 기초 2 (if, for while) 본문

프로그래밍/Python

파이썬 기초 2 (if, for while)

비엔 Vien 2024. 3. 5. 21:16

if 문..

if False:
    print('Bad') # 얘만 적으면 False 이기에 출력이 되지 않음!!!!!!
else:
    print('Good') # else문 까지 적으면 얜 트루이므로 실행됨!!
#>>>Good



city = "" # 빈값이므로 False -> else 문 실행
if city: 
    print("You are in : ", city)
else: 
    print("Enter your city")


city = "Seoul" #값이 채워져 있으므로 True 이므로 if 문 실행
if city: 
    print("You are in : ", city)
else: 
    print("Enter your city")

 

not 논리연산자

# 반대로 출력해주는 not
a =75
b = 40
print(not a>b) #
#>>> False

 

 

뽁습!

ㅍ#뽁습!!
q= {10,20,30}
w= {70,80,90,100}
e= {"name" : "Lee", "city": "Seoul", "grade": "A"}
r= {10,12,14}

print(15 in q)
print(90 in w)
print(12 not in r) 
print("name" in e) # 키는 그냥 써주면 된다 
print("Seoul" in e.values()) # 해당'값'이 존재하는가 
                             ## '값'이 있는지 확인하려면 반드시 values 써야함

 


 

for문

for v3 in range(1,11,2): # 1부터 2씩 건너뛰어 10이하 까지 (즉 홀수만 프린트)
    print('v3 is :', v3)

print()

for v4 in range(0,11,2): # 0부터 2씩 건너뒤어 10이하까지 (0과 짝수만)
    print('v4 is :', v4)
#1~1000의 합
sum1 = 0

for v in range(1, 1001):
    sum1 += v

print('1~1000 Sum :', sum1)

##또는
print('1~1000 Sum :', sum(range(1,1001)))

 

 

 

리스트 예제

#List안에 있는 값들을 반복해서 출력하기
names = ['Kim', 'Park', 'Cho', 'Lee', 'Choi', 'Voo']

for n in names:
    print("You are : ", n)
print()

lotto_numbers = [11,16,21,24,25,62]

for n in lotto_numbers:
    print("Current number : ",n)

 

문자열 예제

#문자열에서 각각의 문자를 뽑아 반복 출력
word = "Beautiful"
for s in word :
    print('word :', s)
#문자열을 전부 대문자로 바꾸기
fruit = 'PineApplE'

for n in fruit:
    if n.isupper(): # 대문자라면
        print(n) #그냥 출력
    else:
        print(n.upper()) # 해당 문자를 대문자로 변환후 출력

 

딕셔너리 예제

my_info = {
    "name" : 'Lee',
    "Age" : 33,
    "city": "Seoul"
}

#dictionary에서 '값' 반복 출력
for key in my_info:
    print("key :", my_info.get(key))
##또는
for val in my_info.values():
    print("key : ", val)

print()

#키만 출력
for key in my_info.keys():
    print("key is ", key)

 

 

 

 

break과 continue

#break
numbers = [14,3,4,7,10,24,17,2,33,15,34,36,38]

for num in numbers:
    if num == 4:
        print('Found : 4!')
        break
    else:
        print('Not Found : ', num)
#>>>Not Found :  14
#>>>Not Found :  3
#>>>Found : 4!


#continue : 아랫구문 skip 역할 -> 다시 처음 for문으로
lt = ["1", 2, True, 4.3, complex(4)]

for v in lt:
    if type(v) is bool:
        continue #자료형이 bool 이라면 skip
    print("current type : ", v, type(v))
#>>>current type :  1 <class 'str'>
#>>>current type :  2 <class 'int'>
#>>>current type :  4.3 <class 'float'>
#>>>current type :  (4+0j) <class 'complex'>

 

for-else 구문

#for - else  
numbers = [14,3,4,7,10,24,17,2,33,15,34,36,38]

for num in numbers:
    if num ==24:
        print("Found : 24") #실행됨
        break
else : 
    print('Not Found : 24') #24가 존재하기 때문에 위의 break 문으로 인하여 실행되지 X

print()

for num in numbers:
    if num ==49:
        print("Found : 49")
        break
else : 
    print('Not Found : 49') #위의 if 문이 만족되지 않이 때문에 실행됨

 

변환예제

#형변환
name2 = 'Aceman'
print('Reversed', reversed(name2)) 
print('List', list(reversed(name2)))
print('Tuple', tuple(reversed(name2)))
print('Set', set(reversed(name2))) #set은 순서 X

 

While문

a= ['A','B','C']
while a:
    print(a.pop(-1)) # a List 맨뒤에서부터 하나씩 뺴면서 False가 될(List가 텅텅 빌)때까지 반복 
                     # (False가 된다면 반복 종료,, a, 즉 차있는 List는 True 상태임)

 

그냥 조건에 따른 반복문임

 

 

#break와 continue
n=5
while n>0:
    n-=1
    if n==2:
        break
    print(n)
print("Loop Ended")
#>>>4
#>>>3
#>>>Loop Ended

print()

m=5
while m>0:
    m-=1
    if m==2:
        continue
    print(m)
print("Loop Ended")

#>>>4
#>>>3
#>>>1
#>>>0

 

while- else 구문 (for - else랑 똑같은 원리 )

 

예제

a=['A','B','C']

while True:
    if not a: #즉 False, a가 비어있을때
        break #무한루프를 방지하기 위한 작업
    print(a.pop())