본문 바로가기
Language/Python

Python Practice Day-1 (파이썬 연습 1일차)

by 드럼치는 코린이 2021. 1. 5.
728x90
반응형

 

 

나도코딩

코딩, 쉽고 재미있게 "무료"로 배우세요

www.youtube.com

Youtube 나도 코딩님께서 감사하게도 Python 초보 강의를 올려주셨다.

2020.01.04 시작.


  • 숫자 자료형

 

print(안에 숫자를 입력하면 값이 출력된다)

+ : 더하기, - : 빼기, * : 곱하기, / : 나누기

print(5) # 5
print(-10) # -10
print(3.14) # 3.14
print(1000) # 1000
print(5+3) # 8
print(2*8) # 16
print(3*(3+1)) #12

  • 문자열 자료형

 

문자열로 만들 때는 ""를 쓰거나 ''를 쓰면 된다.

문자열에 숫자를 곱할 수 있다.

print('풍선') # 풍선
print("나비") # 나비
print("ㅋㅋㅋㅋㅋㅋㅋㅋㅋ") # ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
print("ㅋ"*9) # ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

  • Boolean 자료형

 

boolean은 참과 거짓을 나타내는 것.

print(5 > 10) # False
print(5 < 10) # True
print(True) # True
print(False) # False
print(not True) # False
print(not False) # True
print(not (5 > 10)) # True

 


  • 변수

 

변수를 먼저 지정하여 print값에 변수를 입력하면 출력이 된다.

중간에 변수를 새로 삽입하면 새로 삽입한 변수 값이 적용된다.

++로 문자를 합칠 수 있다. 그리고 ,로도 문자를 합칠 수 있지만 한 칸 띄어쓰기가 생긴다.

# 애완동물을 소개해 주세요~
animal = "고양이"
name = "해피"
age = 4
hobby = "낮잠"
is_adult = age >=3 # 3보다 크거나 같으면 어른

print("우리집 " + animal + "의 이름은 " + name + "예요") # 우리집 고양이의 이름은 해피예요
print(name + "는 " + str(age) + "살이며, " + hobby + "을 아주 좋아해요") # 해피는 4살이며, 낮잠을 아주 좋아해요
#중간에 변수를 새로 삽입하면 새로 삽입한 변수 값이 적용된다.
hobby = "공놀이"
print(name, "는 ", age, "살이며, ", hobby, "를 아주 좋아해요") # 해피 는 4 살이며 공놀이 를 아주 좋아해요
print(name + "는 어른 일까요?" + str(is_adult)) # 해피는 어른 일까요? Ture

  • 주석

 

주석은 코드로 인식되지 않고 중요한 코드나 설명이 필요한 코드에 주석을 달아 다음 사용자가 이해하기 쉽도록 한다.

#print("주석은 컨트롤 + /키를 함께 누른다")

#print("주석은 컨트롤 + /키를 함께 누른다")

  • Quiz 1)

 

변수를 이용하여 다음 문장을 출력하시오.

#변수명 = station

#변수값 = "사당", "신도림", "인천공항" 순서대로 입력

#출력문장 = xx행 열차가 들어오고 있습니다.

station = "사당"
print(station + "행 열차가 들어오고 있습니다.")
# 사당행 열차가 들어오고 있습니다.

station = "신도림"
print(station + "행 열차가 들어오고 있습니다.")
# 신도림행 열차가 들어오고 있습니다.

station = "인천공항"
print(station + "행 열차가 들어오고 있습니다.")
# 인천공항행 열차가 들어오고 있습니다.

  • 연산자

 

!= : 같지 않다.(≠)

and, & : 그리고 ⇒ 조건이 모두 만족하면 참. 모두 만족하지 않으면 거짓.

or, | : 또는 ⇒ 조건이 하나라도 만족하면 참, 모두 만족하지 않으면 거짓.

print(1 != 3) # True
print(not 1 != 3)) # False

print((3 > 0) and (3 < 5)) # True
print((3 > 0) & (3 < 5)) # True

print((3 > 0) or (3 > 5)) # True
print((3 > 0) | (3 > 5)) # True

print(5 > 4 > 3) # True
print(5 > 4 > 7) # False

  • 간단한 수식

 

print(2 + 3 * 4) # 14
print((2 + 3) * 4) # 20
number = 2 + 3 * 4 
print(number) # 14
number = number + 2
print(number) # 16
number += 2 # number값에 2를 더해라.
print(number) # 18
number *= 2 # number값에 2를 곱해라.
print(number) # 36
number /= 2 # number값에 2를 나눠라.
print(number) # 18.0
number -= 2 # number값에 2를 빼라.
print(number) # 16.0
number %= 5 # number값에 5로 나눈 나머지 값
print(number) # 1

  • 숫자 처리 함수

 

print(abs(-5)) # 5 (abs : 절댓값)
print(pow(4, 2)) # 16 (pow : 제곱)
print(max(5, 12)) # 12 (max : 가장 큰 값)
print(min(5, 12)) # 5 (min : 가장 작은 값)
print(round(3.14)) # 3 (round : 반올림)
print(round(4.99)) # 5

from math import * # math 라이브러리에 있는 모든 것을 이용하겠다.
print(floor(4.99)) # 4 (floor : 내림)
print(ceil(3.14)) # 4 (ceil : 올림)
print(sqrt(16)) # 4 (sqrt : 제곱근)

  • 랜덤 함수

 

int함수는 정수를 표현할 때 사용.

randrange함수는 랜덤 범위를 말한다.

randint 함수는 랜덤 정수 값을 말한다.

from random import * # random 라이브러리에 있는 모든 것을 이용하겠다.

print(random()) # 0.0 ~ 1.0 미만의 임의의 값 생성
print(random() * 10) # 0.0 ~ 10.0 미만의 임의의 값 생성
print(int(random() * 10) # 0 ~ 10 미만의 임의의 값 생성
print(int(random() * 10) + 1) # 1 ~ 10 이하의 임의의 값 생성

# 로또 추첨하기 방법 3가지
# 방법 1
print(int(random() * 45) + 1) # 1 ~ 45 이하의 임의의 값 생성
print(int(random() * 45) + 1) # 1 ~ 45 이하의 임의의 값 생성
print(int(random() * 45) + 1) # 1 ~ 45 이하의 임의의 값 생성
print(int(random() * 45) + 1) # 1 ~ 45 이하의 임의의 값 생성
print(int(random() * 45) + 1) # 1 ~ 45 이하의 임의의 값 생성
print(int(random() * 45) + 1) # 1 ~ 45 이하의 임의의 값 생성

# 방법 2
print(randrange(1, 46)) # 1 ~ 46 미만의 임의의 값 생성
print(randrange(1, 46)) # 1 ~ 46 미만의 임의의 값 생성
print(randrange(1, 46)) # 1 ~ 46 미만의 임의의 값 생성
print(randrange(1, 46)) # 1 ~ 46 미만의 임의의 값 생성
print(randrange(1, 46)) # 1 ~ 46 미만의 임의의 값 생성
print(randrange(1, 46)) # 1 ~ 46 미만의 임의의 값 생성

# 방법 3
print(randint(1, 45)) # 1 ~ 45 이하의 임의의 값 생성
print(randint(1, 45)) # 1 ~ 45 이하의 임의의 값 생성
print(randint(1, 45)) # 1 ~ 45 이하의 임의의 값 생성
print(randint(1, 45)) # 1 ~ 45 이하의 임의의 값 생성
print(randint(1, 45)) # 1 ~ 45 이하의 임의의 값 생성
print(randint(1, 45)) # 1 ~ 45 이하의 임의의 값 생성

  • Quiz 2)

 

당신은 최근에 코딩 스터디 모임을 새로 만들었습니다.

웹 4회 스터디를 하는데, 3번은 온라인으로 하고 1번은 오프라인으로 하기로 했습니다.

아래 조건에 맞는 오프라인 모임 날짜를 정해주는 프로그램을 작성하시오.

 

조건 1 : 랜덤으로 날짜를 뽑아야 함.

조건 2 : 월별 날짜는 다름을 감안하여 최소 일수인 28일 이내로 정함.

조건 3 : 매월 1~3일은 스터디 준비를 해야 하므로 제외.

 

(출력문 예제)

오프라인 스터디 모임 날짜는 매월 x 일로 선정되었습니다.

from random import *

date = randint(4, 28)
print("오프라인 스터디 모임 날짜는 매월 " + str(date) + "일로 선정되었습니다.")

  • 문자열

 

"", '' 모두 문자열로 바꿔준다.

sentence = '나는 소년입니다'
print(sentence) # 나는 소년입니다
sentence2 = "파이썬은 쉬워요"
print(sentence2) # 파이썬은 쉬워요
sentence3 = """
나는 소년이고,
파이썬은 쉬워요
"""
print(sentence3) # 
                   나는 소년이고,
                   파이썬은 쉬워요
                            

  • 슬라이싱

 

[-7:] 은 뒤에서 카운팅 해서 -1, -2, -3, -4, -5, -6, -7 순으로 카운팅

jumin = "990120-1234567" # (0, 1, 2, 3, ...., 순으로 카운팅.)

print("성별 : " + jumin[7]) # 성별 : 1 => 남자
print("연 : " + jumin[0:2]) # 연 : 99
print("월 : " + jumin[2:4]) # 월 : 01
print("일 : " + jumin[4:6]) # 일 : 20

print("생년월일 : " + jumin[:6]) # 생년월일 : 990120 ( 처음부터 6 직전까지 )
print("뒤 7자리 : " + jumin[7:]) # 뒤 7자리 : 1234567 ( 7부터 끝까지 )
print("뒤 7자리 (뒤에부터) : " + jumin[-7:]) # 뒤 7자리 (뒤에부터) : 1234567

  • 문자열 처리 함수

 

find 함수와 index 함수의 차이점

find 함수에서 원하는 값이 없으면 결과 값은 -1을 반환.

index 함수에서 원하는 값이 없으면 결과 값은 오류 발생.

python = "Python is Amazing"
print(python.lower()) # python is amazing (소문자 출력)
print(python.upper()) # PYTHON IS AMAZING (대문자 출력)
print(python[0].isupper()) # True (python 변수의 0번째 값이 대문자인지 판별)
print(len(python)) # 17 (python 변수의 자리수)
print(python.replace("Python", "Java")) # Java is Amazing (Python을 Java로 변환)

index = python.index("n") # python 변수에서 n이란 글자가 몇 번째에 위치 하는가
print(index) # 5
index = python.index("n", index + 1) # 위에서 찾은 5번째 다음인 6번째 부터 n을 찾음
print(index) # 15

print(python.find("n")) # 5 (n을 포함하는 위치를 알려줌)

#find 함수와 index 함수의 차이
print(python.find("Java")) # -1 (python 변수에 Java를 포함하지 않으므로 -1로 표시 됨)
print(python.index("Java")) # 오류 (python 변수에 Java를 포함하지 않으므로 오류가 뜸)

print(python.count("n")) # 2 (n이 몇 번 있는지)

  • 문자열 포맷

 

%d : 정수 값만 입력 가능

%s : (string) 문자 입력 가능.

%c : (character) 한 글자만 입력 가능.

참고로 %s만 써도 정수, 한 글자 모두 출력 가능.

print("a" + "b") # ab
print("a", "b") # a b

# 방법 1
print("나는 %d살입니다." % 20) # 나는 20살입니다.
print("나는 %s을 좋아해요." % "파이썬") # 나는 파이썬을 좋아해요.
print("Apple은 %c로 시작해요." % "A") # Apple은 A로 시작해요.
print("나는 %s색과 %s색을 좋아해요." % ("파란", "빨간")) # 나는 파란색과 빨간색을 좋아해요.

# 방법 2
print("나는 {}살입니다.".format(20)) # 나는 20살입니다.
print("나는 {}색과 {}색을 좋아해요.".format("파란", "빨간")) # 나는 파란색과 빨간색을 좋아해요.
print("나는 {0}색과 {1}색을 좋아해요.".format("파란", "빨간")) # 나는 파란색과 빨간색을 좋아해요.
print("나는 {1}색과 {0}색을 좋아해요.".format("파란", "빨간")) # 나는 빨간색과 파란색을 좋아해요.

# 방법 3
print("나는 {age}살이며, {color}색을 좋아해요.".format(age = 20, color = "빨간")) # 나는 20살이며, 빨간색을 좋아해요.
print("나는 {age}살이며, {color}색을 좋아해요.".format(color = "빨간", age = 20)) # 나는 20살이며, 빨간색을 좋아해요.

# 방법 4 (Python v3.6 이상~)
age = 20
color = "빨간"
print(f"나는 {age}살이며, {color}색을 좋아해요." # 나는 20살이며, 빨간색을 좋아해요.

  • 탈출 문자

 

\n : 줄 바꿈

\" \'(역슬래시) : 문장 내에서 따옴표 할 수 있다.

\\ : 문장 내에서 하나의 \로 본다.

\r : 커서를 맨 앞으로 이동

\b : 백스페이스 (한 글자 삭제)

\t : 탭

print("백문이 불여일견
백견이 불여일타") # 오류
print("백문이 불여일견\n백견이 불여일타") # 백문이 불여일견
                                        # 백견이 불여일타

# 저는 "나도코딩"입니다. 를 만들어보자.
print("저는 "나도코딩"입니다") # 오류
print("저는 '나도코딩'입니다") # 저는 '나도코딩'입니다.
print('저는 "나도코딩"입니다') # 저는 "나도코딩"입니다. (통일성 x)
print("저는 \"나도코딩"\"입니다.") # 저는 "나도코딩"입니다. (\사용하면 구분감을 줄 수 있다)

# \\
print("C:\User\abcdefg\Desktop\PythonWorkspace>") # 오류
print("C:\\User\\abcdefg\\Desktop\\PythonWorkspace>") # C:\User\abcdefg\Desktop\PythonWorkspace>

# \r
print("Red Apple\rPine") # PineApple

# \b
print("Redd\bApple") # RedApple

# \t
print("Red\tApple") # Red    Apple

  • Quiz 3)

 

사이트별로 비밀번호를 만들어 주는 프로그램을 작성하시오.

예) http://naver.com

규칙 1 : http:// 부분은 제외 ⇒ naver.com

규칙 2 : 처음 만나는 점(.) 이후 부분은 제외 ⇒ naver

규칙 3 : 남은 글자 중 처음 세 자리 + 글자 개수 + 글자 내 'e' 갯수 + "!"로 구성

(nav) (5) (1) (!)

예) xxx의 비밀번호는 yyy입니다.

url = "http://naver.com"
my_str = url.replce("http://", "") # naver.com (규칙 1)
my_str = my_str[:my_str.index(".")] # naver (규칙 2)
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) + "!"
print("{0}의 비밀번호는 {1} 입니다.".format(url, password)) # http://naver.com의 비밀번호는 nav51! 입니다.

 

 

 

출처 : YouTube 나도코딩

728x90
반응형

댓글