코딩일기

Python Study1 본문

Code/기타

Python Study1

daje 2020. 12. 4. 17:17
728x90
반응형

오늘은 변수, 연산자, 문자열에 대해서 배워보겠습니다. 

본 내용은 유튜브에서 배운 내용을 기반으로 하여 응용하여 기재하였습니다.<링크하단참조>

 

1. 자료형

  1-1. int, float 

  print(5)
  print(-10)
  print(3.14)

 

  1-2. str  

print("나비")
print('나비')
print("zzzzzzzz")
print("z" * 9)

 

2. Boolean(True, flase)

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

 

3. 변수(variable)

변수란? 어떤 값을 저장하는 공간

print(" 우리집 강아지의 이름은 또또입니다. 또또는 10살이며, 산책을 싫어해요")

  

위와 같은 구문에서 강아지이름을 갑자기 예쁜이라고 변경되었다면 

모두 바꿔줘야하니까 이를 간결하게 수정하기 위해서 변수를 사용한다. 

anminal = "강아지"
name = "또또"
age = 10
is_adult = age >= 3

#문자열 포맷팅1
print(f"우리집 {anminal}의 이름은 {name}입니다. 또또는 {age}살이며, {is_adult}이에요, 산책을 싫어해요")

#문자열 포맷팅2
print("우리집" + anminal + "의 이름은 " + name + "예요" + name + "는" + str(age) + "살이며 산책을 아주 좋아해요")

#문자열 포맷팅3
print("우리집",anminal,"의 이름은 ",name,"예요", name,"는",age,"살이며 산책을 아주 좋아해요")

위처럼 변수를 이용하면 문장 전체를 수정하지 않고 우리가 원하는 문자열 얻을 수 있다 

 

4. 주석 

주석이란? 코드 내에 포함은 되어 있지만 실행은 되지 않는 문장

프로그램에 대한 설명이나, 다른 개발자와의 소통을 위해서 사용된다 

주석처리 방법 1: '''작은 따운표를 쓰면 된다 ''' 

주석처리 방법 2: #

주석처리 방법 3: ctrl +  / 

 

Quiz 변수명을 이용하여 다음 문장을 출력하시오 

문제 : 변수명 station으로 "사당", "신도림", "인천공항"을 순서대로 출력하십시오 

stations = ["사당", "신도림", "인천공항"]

for station in stations:
    print(f"{station}행 열차가 들어오고 있습니다." )



5. 연산자

덧셈
print(1+1)
number = 3
number = number + 4 이렇게 간단하게 쓸 수 있음 number += 4

뺄셈 print(3-2)
number = 3
number = number - 4 이렇게 간단하게 쓸 수 있음 number -= 4

곱셈 print(5*2)
number = 3
number = number * 4 이렇게 간단하게 쓸 수 있음 number *= 4

나눗셈 print(6/3)
number = 3
number = number / 4 이렇게 간단하게 쓸 수 있음 number /= 4

나머지
print(10%3)

제곱
print(2**3)

몫구하기
print(10//3)

비교1
print(10 > 3), print(10 >= 3), print(5 <= 7), pritn(3 == 3)

비교2
print(1 != 3), print(not(1 != 3))

비교3
print((3 > 0) and ( 4 < 10)), print((3 > 0) & ( 4 < 10))
print((3 > 0) or ( 4 < 10)), print((3 > 0) | ( 4 < 10))

비교4(3중 연산)
print(5 > 4 > 3)
print(5 > 4 > 7)

 

6. 숫자처리 함수 

절대값
print(abs(-5))

제곱 (42승)
print(pow(4, 2))

최대값
print(max(5, 12))

최소값
print(min(5, 12))

반올림
print(round(3.14))
print(round(4.99))

내림 (math를 import해야 사용가능)
print(floor(4.99))

올림 (math를 import해야 사용가능)
print(ceil(3.14))

제곱근 (math를 import해야 사용가능)
print(sqrt(16))

 

7. 랜덤함수 

from random import *
0.0 ~ 1.0 미만의 임의 값 생성
print(random())
0.0 ~ 10.0 미만의 임의 값 생성
print(random() * 10 )
0 ~ 10 미만의 임의 값 생성
print(int(random() * 10))
1 ~ 10 이하의 임의 값 생성
print(int(random() * 10) + 1)
로또 번호 출력 ( 1부터 45 사이의 수를 출력하는 방법 )
방법1
print(int(random() * 45) + 1)
방법2
print(randrange(1, 46))
방법3
print(randint(1, 45))

 

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

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

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

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

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

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

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

from random import *
off__day = int(random() * 28) + 4
print(f"오프라인 스터디 모임 날짜는 매월 {off__day}일로 선정되었습니다.")

 

8. 문자열 

sentence1 = "나는 소년입니다."
sentence2 = '이렇게 따옴표를 바꾸어도 잘 출력이 되요'
sentence3 = """이렇게 해도 출력이 되네요
심지어 줄을 바꾸었는데도 되죠?
신기하죠? """

 

9. 슬라이싱 : 문자열에서 필요한 정보만 잘라오는 것 

jumin = "990120-1234567"
성별을 가져오기
print(f"성별: {jumin[7]}")
연도
print(f"연:{jumin[0:2]}")
print(f"연:{jumin[:2]}")

print(f"연:{jumin[2:4]}")

print(f"연:{jumin[4:6]}")
print(f"생년월일:{jumin[:6]}")
print(f"뒷7자리:{jumin[7:]}")
print(f"뒷7자리(뒤에서 부터):{jumin[-7:]}")

 

10. 문자열 처리 함수

python = "Python is Amazing"
모두 소문자로 변경
print(python.lower())
모두 대문자로 변경
print(python.upper())
특정 인덱스가 대문자인지 확인
print(python[0].isupper())
문자열의 길이
print(len(python))
문자열 교체
print(python.replace("Python", "Java"))
파이썬에서 인덱스 찾기
index = python.index("n")
인덱스를 검색한 후 그 다음 위치부터 찾기
index = python.index("n", index+1)
위와 비슷한 기능을 가진 find
find의 경우 내가 원하는 값이 없는 경우, -1을 반환하고
index에서 내가 원하는 값이 없는 경우, 오류를 내면서 프로그램을 종료함
print(python.find("n"))
print(python.find("Java"))
내가 원하는 문자가 몇개 있는지 찾을 수 있는 count
print(python.count("n"))

 

11. 문자열포맷팅 

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

d는 숫자
print("나는 %d살입니다." % 20)

c는 한글자
print("Apple dms %c로 시작해요" % "A")


s는 문자
print("나는 %s을 좋아해요" % "파이썬")
print("나는 %s색과 %s색을 좋아해요" % ("파란", "빨강"))

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

.format 변수
print("나는 {age}살이며 {color}색을 좋아해요".format(age=20, color="빨강"))

.f
age = 20
color = "파란"
print(f"나는 {age}살이며 {color}색을 좋아해요"

 

12. 탈출문자 

\n 줄바꿈
print("백문이 불여일견\n백견이 불여일타")
\"" 문장 내에 큰 따옴표를 넣고 싶을 때
print("저는 \"나도코딩\"입니다.")
\\는 문장 내에서 한개의 \로 인식된다
print("C:\\user\\Desktop\\worksapce")
\r : 커서를 맨 앞으로 이동
print("Red Apple\rPine")
\b: 백스페이스 역할(한글자 삭제)
print("Redd\bApple")
\t : 탭
print("Red\tApple")

 

Quiz 사이트별 비밀번호 만들어 주는 프로그램 작성하기

예) http://naver.com
규칙1 : http:// 부분은 제외
규칙2 : 처음 만나는 점(.) 이후 부분은 제외
규칙3 : 남은 글자 중 처음 세자리 + 글자 갯수 + 글자 내 e 갯수 + "!"로 구성 하시오 
website = "http://naver.com"
my_str = website.replace("http://", "")
my_str = my_str[:my_str.index(".")]
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) + "!"
print(f"{website}의 비밀번호는 {password}입니다.")

<참조링크>

  -. youtu.be/kWiCuklohdY

  -. youtu.be/fvhNadKjE8g

728x90
반응형

'Code > 기타' 카테고리의 다른 글

Selenium Background Mode(Headless)  (0) 2020.12.17
Selenium path 환경변수 설정방법  (0) 2020.12.15
JavaScript Data-action(자바스크립트 데이터액션)  (0) 2020.12.03
JavaScript를 시작하며  (0) 2020.11.22
코딩을 시작하며  (0) 2020.11.09
Comments