Python

shchae04·2022년 2월 22일
0

python

목록 보기
2/5

2일차 :

  • 조건문
  • 무한루프
  • format 함수
  • 논리 연산자
  • 문자열 슬라이싱
  • 타입
  • range()
  • 표준 입력함수
  • 파이썬의 블록구조

조건문 if ~ else
-> if문은 단독 사용이 가능하지만 else는 반드시 if와 함께 사용해야 합니다.

타 언어에서 else if로 작성하는 키워드를 파이썬에서는 elif로 사용합니다.

while문에 필요한 3요소 : begin, end, step
(파이썬은 증감 연산식이 없습니다 ex> ++, --)

반복문 for ~ in 자료형 내부의 데이터를 순차적으로 꺼내서 반복 작업하는 반복문 입니다. (java의 forEach문과 비슷하다고 생각됨)

시퀀스 자료형이란 여러 개의 값들을 모아놓은 집합 형태를 말하며, 문자열, 리스트 등이 있습니다.

for 제어변수 in 시퀀스 자료형:
    반복 실행문

for num in [1,2,3,4,5,6,7,8,9,10]:
    print('반복문 돌아라',num)

total = 0
for n in [1,2,3,4,5,6,7,8,9,10]:
    total += n

print(total)

문자열 포맷팅

포맷팅은 문자열 사이사이에 다른 타입의 데이터를 넣어서 문자열을 조립하는 방식입니다.

apple  = 3
print('사과가',apple,'개 있습니다')
print('사과가 %d개 있습니다.' % apple)

'''
- 여러 개의 데이터도 하나의 문자열에 포맷팅 할 수 있는데,
이 떄는 % 연산자 뒤에 나열한 변수를 ()로 묶어 줍니다.
'''

month = 12
day = 25
anni = '크리스마스'

print(month,'월',day,'일은',anni,'입니다')
print('%d월 %d일은 %s입니다.' %(month, day, anni))

'''
*format 함수를 사용한 형식 지정 출력

-문자열의 format 함수를 사용하면 서식 문자를 지정하는 것보다
좀 더 유용하고 편하게 문자열 포맷을 사용할 수 있습니다.
'''

point = 90
print('수학점수 : {}점' .format(point))
print('{1}월 {2}일은 {0}입니다'.format(month,day,anni))

# 소수점 표현
pi = 3.141592
print('원주율은 %.2f입니다' % pi)
print('원주율은 {:.2f}입니다' .format(pi))

# f문자열 포맷팅
# 파이썬 3.6버전 이후로 사용할 수 있는 기능입니다.
# 접두어 f를 문자열 앞에 붙여서 사용합니다.
print(f'{month}{day}일은 {anni}입니다')

# {} 안에서는 수식도 사용할 수 있습니다.
print(f'점수는 {point + 10}점 입니다')

논리연산자

논리 연산자 (&, |, and, or, not)

단축 평가 연산 (shore circuit operate: and , or)

좌항에서 전체 결과가 판명났을 경우
우항 연산을 진행하지 않는 연산자 입니다.

문자열 슬라이싱

문자열 인덱싱이 단일 문자를 취할 때 사용했다면
슬라이싱은 문자열 내부의 데이터를 범위를 지정해서
부분 추출할 때 사용하는 방법입니다.

ex) 문자열데이터[begin:end:step]
자바의 subString -> 과 같다.

  • range함수처럼 시작인덱스는 포함이지만
    끝 인덱스는 포함하지 않습니다. (미만)

EX >

s = 'python'
print(s[2:5:1]) #-> 2,3,4를 가져온다. tho
print(s[1:4]) #step 생략시 1로 처리
print(s[3:]) #3번부터 문자열 끝까지 추출.
print(s[:4]) #처음부터 4번 미만까지 추출.
print(s[:]) # == print(s)

week = '월화수목금토일'
print(week[::2]) #월수금일
print(week[1:6:2]) #화목토

타입

  • 문자열
  • 정수형

문자열: -단일 문자들을 따옴표('',"")로 감싸서
나열한 문자 데이터의 집합형태입니다.
따옴표 안에 어떤 형태의 데이터가 들어가도 문자로 인식.
-전 세계의 모든 문자를 저장할 수 있고 ,길이에도 제한이 없습니다.

정수형: 수치형 타입 중 정수형(int)은 양수, 음수의 정수값을 표현하며
소수점 이하 자리는 표현할 수 없습니다.

2진수(0b), 8진수(0o), 16진수(0x)를
접두어를 붙여서 표현이 가능합니다.

-다른 언어는 저장 범위가 타입마다 정해져 있지만,
파이썬은 메모리가 허용하는 한 무수히 많은 정수를
저장할 수 있습니다.

실수형(floation point)
실수형 자료에는 10진수형 소수점 표현 방식과
지수형 표현방식을 사용한 실수값을 저장할 수 있습니다.

복소수형 (complex)

복소수는 제곱해서 음수가 되는 가상의 수
허수를 나타내는 접미사는 j를 사용합니다.

논리형 (boolean)

-논리형 데이터 타입은 명제가 참이면 True
거짓일 경우 False 값을 가집니다.
대문자로 작성.

range()

 내장함수 range()

-순차적으로 증가하는 정수의 순차적 자료형을 만들 때
대괄호 안에 데이터들을 콤마로 일일히 나열하는 것은
한계가 있기 때문에, range()함수를 통해 보다 쉽게
순차형 반복 범위를 지정할 수 있습니다.

ex) range(begin,end,step)
-begin은 값이 포함되지만(이상), end는 값이 포함되지 않습니다(미만)  
'''

list1 = [1,2,3,4,5,6,7,8,9,10]
print(list1)

list2 = list(range(1,11,1))
print(list2)

# step 생략시 자동으로 1로 처리
list3 = list(range(4,15))
print(list3)

# range함수 괄호 안에 값을 한 개만 주면 end로 처리하고
# begin 값을 자동으로 0으로 처리합니다.
list4 = list(range(5)) #range(0,5,1) -> [0,1,2,3,4]
print(list4)

print('-' * 40)

#1~100까지의 누적합을 구하는 로직
total = 0
for n in range(1,100):
    total += n
    n += 1

print('1부터 100까지의 토탈',total)

'''
-정수를 하나 입력받아서 1부터 해당 수까지의 모든 소수를 가로로 출력하고,
그 소수의 개수를 출력
중첩 forprint end 를 ''로 변경
'''

num = int(input('정수를 입력해주세요: '))
count = 0 #개수를 세줄 변수


for n in range(1,num+1): # 미만으로 인식됨 + 1 작성해야함.
    cnt = 0#소수판별을 위해 나누어 떨어진 횟수를 체크할 변수
    for i in range(1,n+1):
        if n % i ==0:
            cnt += 1
    #소수 판별이 끝나고 나서
    if cnt == 2: #소수라면
        count += 1
        print(n,end=' ')
        

print('\n소수의 개수',count)

표준입력함수 : input

  • 함수 괄호 안에 사용자에게 질문할 내용을 문자열 형태로 작성합니다.

  • input()과 함께 항상 변수를 선언해서 입력값을 받아주셔야 하며
    입력받은 데이터의 타입은 str로 저장됩니다.

입력값이 만약 정수, 실수 라면
input함수 자체를 int() float() 함수로 감싸주시면 됩니다.
input함수의 리턴값이 문자열 )>> 변환해서 사용하면된다.

파이썬의 블록구조 :

  • 타 언어는 중괄호 ({})로 종속 구조를 표현할 때
    파이썬은 중괄호를 작성하지 않습니다.
  • 그 대신 콜론(:)과 들여쓰기로 블록구조를 표현합니다.
  • if문 뿐만이 아니라 코드의 종속구조를 나타내는 모든 문법에서
    (반복문, 함수 선언...) 콜론과 들여쓰기를 사용합니다.
    파이썬의 권장 들여쓰기 횟수는 스페이스바 4회입니다.
    들여쓰기는 모든 횟수가 통일되어야 합니다.
    콜론(:) 이후에는 반드시 줄 개행이 진행되어야 합니다.

0개의 댓글