[TIL] 기초 파이썬 같이 풀며 익히기

Yiju Kim·2022년 2월 23일
0

파이썬 기초 공부

1. 입력하기

a = input("무언가를 입력하세요: ")

input은 사용자의 입력값을 항상 string이라는 문자형으로 인식한다.

a = input("숫자를 입력하세요: ")
b = input("숫자를 입력하세요: ")

print( a + b )
# 아마도 수학적논리에 맞지 않게 나올 것이다.

그래서 자료형변환을 해줘야하는데,

# 숫자형 자료형 변환
int() 로 감싸주면 끝!

a = int(input("숫자를입력하세요: "))

2. 출력하기

print("이것을 출력해주세요")

python에서 문자형에는 항상 " ", ' ' 로 감싸줘야한다.

a = "안녕?"

print(a,"신기하지?")
print(a + "이건 몰랐지~?")

"+" 와 "," 를 사용하여 문자를 이어 줄 수 있다.

❗️단 같은 자료형끼리만 이어줄 수 있다.

a = 3

print(a,"그냥 좀 붙혀주라")

# Error
# 숫자형과 문자형을 더할 수 없다.

3. 연산자

파이썬은 사칙연산을 지원한다.

print(3+8) # 11

print(10-5) # 5

print(9/3) # 3 , 9를 3으로 나눈 몫

print(27%3) # 0 , 27을 3으로 나눈 나머지

숫자형 뿐만 아니라 문자형 자료에도 사용할 수 있다.

print("이거" + "더해줘") # '이거더해줘'

print("원빈" * 5) # 원빈원빈원빈원빈원빈

4. 리스트 [ ]

데이터를 한 곳에 저장하여 관리할 수 있다.

# 각 data는 ,로 구분하고 elements(요소)라고 부른다.
a = ["이젠","안녕",3,4,5]

# 각 data는 index(순서)를 갖는다.
print(a[0]) # '이젠'

4.1. 데이터 추가

append("요소"): 맨뒤에 추가 된다.
insert(index, "요소"): 원하는 index에 요소 추가

a = []

a.append("치킨")
print(a) # ['치킨']

a.insert(0,"탕수육")
print(a) # ['탕수육', '치킨']

4.2. 데이터 삭제 및 수정

del list[0]: 선택한 index의 데이터 삭제
remove("요소"): 선택한 요소 삭제

# 삭제
b = ["과자","자동차","햄버거"]

del b[0]
print(b) # ['자동차', '햄버거']

b.remove("자동차")
print(b) # ['햄버거']

# 수정
b[0] = "도넛"
print(b) # ['도넛', '자동차', '햄버거']

4.3. 리스트 길이

len(list)로 리스트의 길이, 리스트 요소의 갯수
뿐만 아니라 문자형의 길이도 알 수 있다.

a = [1,4,5,3,2,5,7,6,5]

print(len(a)) # 9

b = "세상에서 제일 긴 이름을 가진 사나이~!"

print(len(b)) # 22 , 띄어쓰기, 특수문자도 포함한다.

4.4. 숫자 리스트 기능

숫자형 리스트에서만 가능한 리스트의 총합,평균, 최대/최소값을 알려주는 기능이 있다.

# list 총합
a = [33,55,32,12]
total = sum(a)

print(total) # 132

# list 평균 ( 총합 / 갯수(len) )
b = [300,39,20,21]
avg = sum(b) / len(b)

print(avg) # 95

# list 최대값
max(list)

# list 최소값
min(list)

5. 딕셔너리 { }

데이터를 한곳에 저장관리한다. key:value 형태

5.1. 데이터 추가

a = {}
a["name"] = "Kim"

print(a) # {'name' : 'Kim'}

5.2. 데이터 출력

a = {"name":"Kim", "ages":28}

print(a["ages"]) # 28

5.3. 데이터 삭제 및 수정

# 삭제
a = {"name":"Kim", "ages":28}

del a["name"]
print (a) # {'ages': 28}


# 수정
a = {"name":"Kim", "ages":28}

a["name"] = "Lee"

print(a) # {'name': 'Lee', 'ages': 28}

6. 조건문

조건문에는 true,false를 뱉어주는등호,부등호 비교식이 주로 들어간다.

== 같다
!= 같지 않다
> 크다
< 작다
>= 크거나 같다
<= 작거나 같다

또는 포함하고 있는지 여부도 true,false로 알려준다.

a = [1,3,5,7,9]

if 3 in a:
	print("있어요")
else:
	print("없어요")

if 조건문이 참이면 바로 아래 코드를 실행해주세요~

if~else 까지 중에 만족하는 것 1가지만 실행한다.

a = 1
b = 10

if a > 0:
	print("a는 0보다 크다")
elif b > 5:
	print("b는 5보다 크다")
else:
	print("메롱~")
    
# result
a는 0보다 크다

위에서는 elif 조건문도 만족하지만 위에서 이미 if 조건문을 만족하여 코드를 실행했기 때문에 아래 조건문들은 작동하지 않는다.

7. 반복문

7.1. while

a = 10
while a > 9: # 조건문이 true면 아래 코드 무한히 반복
	print("만족합니다")

# result
만족합니다만족합니다만족합니다만족합니다만족합니다만족합니다...

작동 멈추고 싶다면 "ctrl + c"

"ctrl + c" 말고도 while문을 멈추는 방법이 있다.

while True:
	print("hi")
    print("nice to meet you")
    break
    print("dancing tonight")
    
# result
hi
nice to meet you

while조건문은 break를 만나면 바로 작동을 멈추고 break 아래 코드는 실행하지 않는다.

이와 비슷한 continue도 있다.

while True:
	print("hi")
    print("nice to meet you")
    continue
    print("dancing tonight")

# result
hi
nice to meet you
hi
nice to meet you
hi
nice to meet you
.
.
.

while조건문이 continue를 만나면 continue 아래코드는 실행하지 않고 다시 while 조건이 참/거짓인지 확인하러 위로 올라가서 코드를 실행한다.

7.2. for

for 반복문은 참,거짓 상관없이 시퀀스의 마지막을 만나면 멈춘다.

예시)
for i in 시퀀스:
	실행할 코드

# range는 해당 범위를 정하고 그 범위만큼 반복문 실행해주세요~
for i in range(1,10,2): # range(시작숫자, 종료숫자, 스텝)
	print(i)
    
# result
1
3
5
7
9

⭕️ 파이썬 퀴즈

  • "*"을 가로로 5번 출력하시오
1. for i in range(5):
	print("*", end="")
    
2. print("*" * 5)
  • " * "이 한개씩 증가하면서 세로 출력 5번째 줄에 " * * * * *" 출력
for i in range(1,6):
	print("*" * i)
  • 1부터 사용자에게 입력받은 숫자만큼 출력하기
a = int(input("number: "))
for i in range(a):
	print(i+1)
  • 사용자에게 입력받은 숫자부터 0까지 역순으로 출력하기
a = int(input("number: "))
for i in range(a,0,-1):
	print(i)
  • 입력값 = 30일 때, 가로줄에 1부터 10까지만 출력되게하기
a = int(input("number: "))
for i in range(1,a+1):
    print(i,end="") # 1부터 10까지는 가로로 출력
    if i % 10 == 0: # 조건만족하면 한줄 띄어주세요~
        print()
  • 사용자가 로또 구매할 갯수 입력하면 갯수만큼 로또번호 출력
import random

a = int(input("로또 몇 장 사세요?"))
for i in range(a):
# 무작위로 해당 범위에서 6개의 숫자 선택한 것을 num 변수에 할당
	num = random.sample(range(1,46),6) 
    num.sort() # 로또 번호를 오름차순 배열
    print(num)

🔔 오늘의 소감
벌써 3일차이다. 어제 한번 개념을 익혀둬서 오늘은 어제보단 수월하게 강의를 들을 수 있었고 수업 마지막에 퀴즈를 풀면서 흥미도 유발시켜서 더욱 지루하지 않게 수업을 따라갈 수 있었다. 남은 이틀도 더 열심히 하자 !

profile
제로베이스 스쿨 커넥to 프론트엔드 1기

0개의 댓글