파이썬 백엔드 5일차 튜플(tuple)이란?

박재정·2025년 1월 8일

학습정보

목록 보기
6/29

1. 튜플과 리스트의 차이에 대하여 설명하시오.🎈

  • 튜플: 한 번 생성된 후에는 값을 변경할 수 없다. 즉, 불변(immutable)입니다.
튜플: my_tuple = (1, 2, 3) () 소괄호로 정의
  • 리스트: 값을 추가, 삭제, 수정할 수 있어 변경 가능(mutable)합니다.
리스트: my_list = [1, 2, 3] [] 대괄호로 정의

2.아래의 에러가 나는 이유는?🎉

>> t = (1, 2, 3)
>> t[0] = 'a' #TypeError: 'tuple' object does not support item assignment

튜플형식이라 에러 발생 리스트 [ ] 방식이였으면 변경됬을것

3. t = 1, 2, 3, 4🎶

t의 데이타 타입은?

괄호를 쓰지 않고, 값들을 나열하면 튜플(tuple)로 해석된다.

4.리스트에는 네 개의 정수가 저장돼 있다.

리스트 지정할때 한글과 List 등 함수 사용 지양
list_0 = [3, -20, -3, 44]
for문을 사용해서 리스트의 음수를 출력하라.

list_0 = [3, -20, -3, 44]

for num in list_0:
	if num < 0:
    	print(num)

5.for문을 사용해서 3의 배수만을 출력하라.

리스트 = [3, 100, 23, 44]

리스트 = [3, 100, 23, 44]

# 3의 배수만 출력
for 숫자 in 리스트:
    if 숫자 % 3 == 0:  # 3으로 나눈 나머지가 0인 경우
        print(숫자) # 3
   

만약 continue 함수를 활용하면?
continue 함수를 해당되는 함수를 건너뜀

리스트 = [3, 100, 23, 44]

for 숫자 in 리스트:
    if 숫자 % 3 != 0:  # 3의 배수가 아니면
        continue  # 해당 반복을 건너뛰고 다음 반복으로 넘어감
    print(숫자)  # 3의 배수일 경우 출력

6.리스트에서 20 보다 작은 3의 배수를 출력하라

리스트 = [13, 21, 12, 14, 30, 18]

list_6 = [13, 21, 12, 14, 30, 18]
for num in list_6:
    if num<20 and num % 3 == 0 :
        print(num)

출력)
12
18

7.월드컵은 4년에 한 번 개최된다. range()를 사용하여 2002~2050년까지 중 월드컵이 개최되는 연도를 출력하라.

for world in range(2002, 2051,4):
    print(world)

2002
2006
2010
...
2042
2046
2050

8. 99부터 0까지 1씩 감소하는 숫자들을, 한 라인에 하나씩 출력하라.

for i in range(99, -1, -1):  # 99부터 0까지, -1씩 감소
    print(i)

0
1
2
3
4
...
99

9.for문을 사용해서 아래와 같이 출력하라.

for i in range(0, 10):  # 0부터 9까지 반복
    print(i / 10)  # 10으로 나누어 소수점 한 자리 출력

0.0
0.1
0.2
0.3
0.4
0.5
...
0.9

10.1~10까지의 숫자 중 모든 홀수의 합을 출력하는 프로그램을 for 문을 사용하여 작성하라.

sum_hol = 0 #홀수합을 저장할 변수 0으로 지정
for i in range(1,11): # 1<=i<11 #1부터 10까지 반복 
    if i % 2 !=0: #홀수인지 if 문으로 확인
        sum_hol += i #홀수일경우 합계에서 더함 
print(sum_hol) # 출력 
1+3+5 ... = 25 

11.1~10까지의 숫자를 모두 곱한 값을 출력하는 프로그램을 for 문을 사용하여 작성하라.

multiple_num = 1 # 곱셈 결과를 저장할 변수
for i in range(1,11): #1,2,3,4,5,6,7,8,9,10
    multiple_num *=i

print(multiple_num)    

range 함수가 알아서 반복을 하니까 변수를 for 안에 넣으면 된다.

12. 아래와 같이 리스트의 데이터를 출력하라. 단, for문과 range문을 사용하라.

price_list = [32100, 32150, 32000, 32500]

for i in range(len(price_list)): #리스트의 길이만큼 반복
    print(i, price_list[i])  #인덱스 i와 price_list[i]의 값을 출력  

0 32100
1 32150
2 32000
3 32500

13.my_list = ["가", "나", "다", "라", "마"] 리스트를 아래와 같이 출력하라.

가 나 다
나 다 라
다 라 마

my_list = ["가", "나", "다", "라", "마"] 

for i in range(len(my_list)-2): # 리스트 길이 -2 까지만 반복한다.
    print(my_list[i],my_list[i+1],my_list[i+2])

출력
가 나 다
나 다 라
다 라 마

14.리스트에는 6일 간의 종가 데이터가 저장되어 있다. 종가 데이터의 3일 이동 평균을 계산하고 이를 화면에 출력하라.

my_list = [100, 200, 400, 800, 1000, 1300]
첫 번째 줄에는 100, 200, 400의 평균값이 출력된다. 두 번째 줄에는 200, 400, 800의 평균값이 출력된다. 같은 방식으로 나머지 데이터의 평균을 출력한다.

233.33333333333334
466.6666666666667
733.3333333333334
1033.3333333333333

my_list = [100, 200, 400, 800, 1000, 1300]

for i in range(len(my_list)-2): #리스트 범위 조정 4칸이니까 
    avg = sum(my_list[i:i + 3]) / 3 # 3일간의 평균 
    print(avg)

15.아래 표에서 하나의 행을 하나의 리스트로, 총 3개의 리스트를 갖는 이차원 리스트 apart를 정의하라.

101호 102호
201호 202호
301호 302호

정답: apart = [ ["101호", "102호"], ["201호", "202호"], ["301호", "302호"] ]

16.아래 표에서 하나의 열을 하나의 리스트로, 총 2개의 리스트를 갖는 이차원 리스트 stock을 정의하라.

시가 종가
100 80
200 210
300 330

정답: stock = [ ["100","80" ], ["200","210"], ["300","330"] ]
재정님 앞에 ["시가","종가"] 는 뻬셔도 됩니다.
리스트에서는 보통 값만 넣고 딕셔러리를 배우면 컬럼명을 넣는게 일반적입니다.

17. 모듈에 대하여 설명하시오.

파이썬 모듈이란?

파이썬 모듈(Module)은 함수, 변수, 클래스 등을 모아 놓은 파이썬 코드 파일로, 파일 확장자는 .py입니다. 모듈을 사용하면 코드를 재사용할 수 있으며 프로그램을 더 효율적으로 관리할 수 있습니다.

모듈의 특징:
내장 모듈: 파이썬에 기본적으로 내장되어 있는 모듈로, math, os, sys 등이 포함됩니다.
외부 모듈: 사용자가 직접 설치하여 사용하는 외부 라이브러리로 numpy, pandas 등이 있습니다.

모듈 사용 방법:

모듈을 사용하기 위해서는 import 키워드를 사용합니다:

18. 아래의 에러가 발생하는 이유에 대해 설명하라.

hello()
def hello():
print("Hi")

19.아래 코드의 실행 결과를 예측하라.

def message() :
print("A")
print("B")

message()
print("C")
message()

20. 아래가 에러가 나는 이유와 수정을 하시오.

print(sep = ' _ ', 1, 2, 3, , end = ' m^^m ')

세줄요약)
튜플은 리스트와 유사하지만 데이터 갱신및 삭제가 불가능하다.
모듈은 from 과 import 두개의 문법용어가 있다.
함수 호출시 이름을 지정해 값을 전달 할수 있다.

profile
파이썬, SQL 개발

0개의 댓글