파이썬 기초강의-3

DONNIE·2022년 10월 17일
0

파이썬

목록 보기
1/6

제어문

for문

  • 중첩 for문

    for <반복 변수1> in <반복 범위1>:
    for <반복 변수2> in 반복 범위2>:
    <코드블록>

  • 반복횟수가 정해져있을때

    
    l1 = {0,1,2,3,4,5}
    l2 = {6,7,8,9,10}
    
    for i in l1:
        for k in l2:
            if k<8  :
                print(k)
    
    
    // l1 이 6번 반복되는 동안 두번째 for문이 계속 반복되므로 6번 실행됨
    6
    7
    6
    7
    6
    7
    6
    7
    6
    7
    6
    7
  • 구구단 만들기는 72번 반복되는거시다

    for i in range(2,10):
        print (i,'단')
        for k in range(1,10):
            print (i, "*",k,"=",i*k)

while문

  • 조건에 따라 반복 여부를 결정
    while문의 구조
    while<조건문> :
    <코드블록>
  • while문의 흐름도 : 조건문이 거짓일 때 까지
  • 반복횟수를 알수없을때 씀
  • 무한 반복 while문
    + ㄹㄹ
    • 코드 블록을 무조건 반복하라고.. 서버에서 주로 사용
i = 0;
sum = 0;
while (sum<20) :

    i = i+1
    sum = sum + i
    print (i,sum)
print (i, sum)


1 1
2 3
3 6
4 10
5 15
6 21
6 21

// 무한루프
while True :
    print ("test")

break

  • 반복문을 빠져나오는 break
  • 조건절에 상관없이 바로 반복문에서 빠져나옴
  • 보통 무한루프에서 많이 쓰임
  • 사용예

    j = 0
    while True :
         j = j+1
         if(j>3):
             break
         print (j)
    // 파이썬 오류
    // unexpected indent : 들여쓰기 오류

continue

  • skip의 개념
  • 반복문은 보통 모든 data를 조회하는데, 조건에 따라 연산을 skip할 data를 거르는 것
  • break는 종료, continue는 계속
for i in range (10) :
    if(i%2) == 0 :
        continue
    print(i)

1
3
5
7
9

간단하게 반복하는 한 줄 for문

  • 컴프리헨션

    • 리스트 컴프리헨션
    • 세트 컴프리헨션
    • 딕셔너리 컴프리헨션
  • 리스트 컴프리헨션이 기본 구조

    <반복 실행문 > for <반복 변수> in <반복 범위>

    number  = [1,2,3,4,5]
    square = [ i**2 for i in number ]
    print (square)
    printed : [1, 4, 9, 16, 25]
    // 밑에와 동일
    
    number  = [1,2,3,4,5]
    square = []
    
    for i in number :
        square.append(i ** 2)
    print (square)
    
  • 조건문을 추가해보자

number  = [1,2,3,4,5]
square = [ i**2 for i in number if i>=3]
print (square)

printed : [9, 16, 25]

// 하기와 동일

number  = [1,2,3,4,5]
square = []

for i in number :
    if i>=3 :
    square.append(i ** 2)
print (square)

입력과 출력

화면 출력

  • print() 함수를 이용해 화면으로 출력
    • 기본 출력 : 출력 형식을 지정하지 않음
    • 형식 지정 출력 : 다양한 형식으로 출력 가능
  • 기본 출력

    • 문자열을 print() 함수안에 삽입
       In : print("Hello World")
       Out : Hello World
    • 문자열 여러개를 연결해서 출력
      In : print("Best","Python","Book")
      Out : Best Python Book
    • 공백이 싫으면 '+'로, 공백 괜찮으면','로 출력
    • 혹은 print("Best","Python","Book", sep=".....")
  • 줄바꿈

    • print 2번
      • \n : line change
      • \t : tab key
  • 여러 출력을 한 줄에

    • end=""
    print ("Hello Python")
    print("Best","Python","Book",sep=".....")
    
    // printed
    Hello Python
    Best.....Python.....Book
    
    print("James is my friend. \nHe is the best.")
    
    print ("Donnie is free,", end=" ")
    print ("That's me.")
    
    Printed: Donnie is free, That's me.
  • 형식 지정 출력

    • 나머지 연산자를 이용한 형식 및 위치 지정
      • print ("%type" %variable)
      • 문자열보다 숫자에서 더 쓰임
      • 위치 지정을 해주고 variable을 출력하라고 지정
    • 형식 지정 문자열에서 출력 위치 지정
      print ("{0} {1} {2}".format(data_0, data_2, data_3))
  • 숫자의 출력 형식 지정

    데이터출력 형식쳘력 결과설명
    3{N:2d}[]3정수를 공백 포함해 두 자리로 표시 []는 공백 한 칸을 의미함
    3{N:05d}00003정수를 다섯 자리로 표시, 앞의 공백은 0으로 채움
    12{N:>5d}[][][]12정수를 다섯 자리로 표시, 숫자는 오른쪽으로 정렬
    0.12345{N:.3f}0.123실수를 소수점 셋째자리까지 표시
    7456000{N:,}7,456,000통화 표시처럼 끝에서 셋째자리마다 콤마를 표시
    0.3258{N:.1%}32.6%소수를 퍼센트로 표시, 퍼센트 소수점 자리수는 '.'의 다음 숫자로 표시
    92500000000{N:.2e}9.25e+10숫자를 지수로 표시, 지수 소수점 자리수는 '.'의 다음 숫자로 표시
    16{N:#x}0x10숫자를 16진수로 표시, #기호가 없으면 0x 없이 출력됨
    8{N:#o}0o8숫자를 8진수로 표시, #기호가 없으면 0o 없이 출력됨
    2{N:#b}0b10숫자를 2진수로 표시, #기호가 없으면 0b 없이 출력됨
name = "은정"
print ("%s이는 제 이름입니다." %name)

animal_0 = "cat"
animal_1 = "dog"
animal_2 = "fox"

print ("{0}".format(animal_0))
print ("{0}, {1}, {2}".format(animal_0, animal_1, animal_2))

print (1)
print (12345)

//printed : 1
//          12345

print ("{:5d}".format(1))
print ("{:5d}".format(12345))

// printed :     1
//	         12345

print ("{:010d}".format(1))

// printed :0000000001

키보드 입력

  • 키보드로 데이터를 입려갛기 위해서는 input()함수를 이용
  • 기본 구조
    data = input("문자열")
  • input() 함수로부터 입력받은 데이터를 print()함수로 출력
    In : yourName = input("당신의 이름은?")
    print("당신은 {}입니다.".format(yourName))
  • input() 함수로부터 입력받은 데이터를 숫자로 변환
    name = input("당신의 이름은")
    print("당신은{0} 이군료".format(name))
    // Printed : 당신의 이름은 멉니까
    //          당신은 멉니까 이군료
    age = input("몇살입니까?")
    print ("{0}살이군요.".format(age))
    // Printed : 몇살입니까?29
    //           29살이군요.
    a = input("정사각형 한 변의 길이는?")
    area = int(a) ** 2
    print ("정사각형d의 넓이:" + str(area))
    print("정사각형의 넓이:{0}".format(area))
profile
후론트엔드 개발자

0개의 댓글