TIL #26-1 Python : Repl.it 공부 1

채록·2021년 1월 13일
0

짜투리

목록 보기
15/26
post-thumbnail

#1 ~ 14 : Python 기초 문법

1번부터 14번까지는 python의 기초 문법에 대해 배웠다. 데이터 타입부터 연산법까지 기초를 익혔다!
이전에 기록한 TIL을 통해 python의 기초 문법은 어느정도 익힌 상태였지만 다시한번 되내이며 공부하고자 하였다.
여러 자료로 공부하면 그만큼 내가 놓친 부분이 무엇인지 더욱 파악하기가 쉬우니까!! 좋은것 같다😊

1. Python 기초 문법

기초 문법에 대해 이전에 기록해둔것을 다시 살펴보았다.

2. Data type

Data type은 다음과 같이 있다.

  • Integer 정수
  • Float 소수
  • Complex Numbers 복소수(실수+허수) ex) 1+3j (j는 파이썬에서 허수의 의미로 사용된다.)
  • String 문자열
  • Boolean True/False (대문자!! 유의!!!!)

이것들만 있는것은 아니다! 이것은 기초적인 내용.
더 많은 data type에 대해선 https://velog.io/@c_hyun403/TIL-16-Python1#%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%ED%8A%9C%ED%94%8C-%EB%94%95%EC%85%94%EB%84%88%EB%A6%AC 의 문자열 / 수 / 리스트 / 튜플 / 딕셔너리 참고!



3. 변수

따옴표가 있어야 string 출력!
없으면 변수나 함수로 인식된다.

변수 이름은 영어 알파벳 /숫자 / undercor(_)로만 구성할 수 있다.

  • 숫자로 시작하면 안된다.


4. Literal StringInterpolation

기존에 파이썬이 문자열을 다루는 방식은 다음과 같다.

  1. %-formatting (python 2)
  2. str.format() 메소드 방식 (Format string syntax)

하지만 python 3.6 부터 만들어진 방식 f-string 이 있다.

f-string ?

정보 출처: https://blockdmask.tistory.com/429

f-string의 모양은 f와 {} 만 알면된다.
문자열 맨 앞에 f를 붙여주고, 중괄호 안에 직접 변수 이름이나 출력하고 싶은것을 바로 넣으면 된다.

f'문자열 {변수} 문자열'

표현 가능 방법

  • f'문자열 {변수} 문자열'
  • f"문자열 {변수} 문자열"
  • f'''문자열 {변수} 문자열'''
  • f"""문자열 {변수} 문자열"""

출력 가능 방법

  • print(f'문자열 {변수} 문자열')
  • a = f'문자열 {변수} 문자열'
    print(a)

f-string 적용 효과

기존의 코드

print(20201)
print(20202)
print(20203)
...
print(202011)
print(202012)

이런식으로 하나하나 작성해서 진행해야 한다.

f-string사용

month = 1
while month <= 12:
    print(f'2020년 {month}월')
    month = month + 1

또한 문장 내에서 변수로 작용할 만한 요소가 많이 있다면

date = 1980
python_inventor = 'Guido van Rossum'
location = 'Centrum Wiskunde & Informatica'
country = 'Netherlands'
print(f'Python was conceived in the late {date} s by {python_inventor} at {location} (CWI) in the {country} as a successor to the ABC language (itself inspired by SETL), capable of exception handling and interfacing with the Amoeba operating system. Its implementation began in December 1989.')

이런식으로 작성해 바꿀 수 있다!

f 요소에 들어가는 것들 중 문자열이면 따옴표 해주는거 잊지 말자!


f-string 적용 효과2

num1 = int(input("첫 번째 숫자를 입력해주세요: "))
num2 = int(input("두 번째 숫자를 입력해주세요: "))

## 아래 중괄호 사이에 코드를 작성해주세요:
print(f"""
더하기: {num1+num2}
빼기: {num1-num2}
나누기: {num1/num2}
곱하기 {num1*num2}
""")

출력 화면




#16 ~ 26 : if문

1. Whitespace

Whitespace = 들여쓰기 (indntion)
타 언어에서는 들여쓰기가 필수는 아지고 단지 가독성을 높이기 위해 사용하는 정도이다. 하지만 파이썬에서 들여쓰기는 요구사항이다.
들여쓰기를 통해 코드의 종속성을 나타낸다.

if _ :
    보통 들여쓰기는 4칸을 띄거나 / tap키 한번(띄어쓰기 4번과 동일 크기)을 이용한다.
  +2칸을 사용하는 개발자도 있다! (2or 4)
보통은 4/ 일관되게 사용하기!!

또한 nest level도 indentation (간격)으로 구분 된다. 안에로 간격이 더 들어갈 수 록 중첩 된 것이다!
예시)

if status == "학생":
    if year >= 3:
        print("취업이 곧 다가온다")
    elif year == 2:         
        print("그래도 아직 놀 시간이 있네..")
    elif year < 2:                  
        print("한창 놀때지..")
else:
    print("열심히 공부 해서 대학교 부터 가라!")

if 문의 중첩 사용과 각 조건별 들여쓰기 비율 확인하자!
단, 일반적으로 2단계 이상 중첩은 사용하지 않는다! 가독성이 떨어지기 때문!!!

2. 중첩 if문 (문제풀이)

실습 문제중에 이건,, 알고리즘 문제인가? 싶을 정도로 (내 기준) 생각을 좀 해야 됐던 문제가 있다.

1. 문제

a*x = b 를 만족하는 정수 x가

  • 하나 있다면 정수 x를 출력
  • 여러개라면 Many Solutions
  • 없다면 No Solution

을 출력하라.


2. 제출 코드

a = int(input("첫 번째 숫자를 입력해주세요: "))
b = int(input("두 번째 숫자를 입력해주세요: "))

## 아래 코드를 작성해주세요.
if a!=0:
  if b==0:
    print(0)
  elif b%a==0:
    print(b//a)
  else:
    print('No Solution')
else:
  if b==0:
    print('Many Solutions')
  else:
    print('No Solution')

3. 코드 풀이

먼저 첫번째 if문을 통해 a가 0일때와 0이 아닐때를 골라냈다.

a가 0이 아닐때

  1. b가 0 이라면 식을 만족하는 정수 x는 0뿐이다.
  2. b가 0이 아니고 b를 a로 나눈값의 나머지가 0이라면 식을 만족하는 정수 x를 출력한다.
  3. b가 0이 아니지만 b를 a로 나눈값의 나머지가 0이 아니어서 식을 만족하는 정수 x가 없다면 No Solution

a가 0일때

  1. b도 0이라면 어떤 정수를 곱하든 식을 만족하기 때문에 Many Solutions
  2. b가 0이 아니라면 0에 정수를 곱해 0이 아닌 정수가 나오는 것은 불가능하므로 No Solution
profile
🍎 🍊 🍋 🍏 🍇

0개의 댓글