
나도코딩
코딩, 쉽고 재미있게 "무료"로 배우세요
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)
사이트별로 비밀번호를 만들어 주는 프로그램을 작성하시오.
규칙 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 나도코딩
'Language > Python' 카테고리의 다른 글
Python Practice Day-3 (파이썬 연습 3일차) (0) | 2021.01.06 |
---|---|
Python Practice Day-2 (파이썬 연습 2일차) (1) | 2021.01.05 |
댓글