파이썬 기본 문법과 실습

김동하·2023년 7월 17일

자료구조

목록 보기
3/9

파이썬 기본 문법 1

문제 1 : 사용자로부터 총 2개의 문자열을 입력받아 이를 연결(+) 해서 문장을 출력해보자


a = input()
b = input()

print(a+b)

문제 2 : 빈 리스트(list_1)에 3개의 단어를 사용자로부터 입력받아 그 결과를 출력하고, 두 개의 리스트에서 1번째 인덱스값을 연결해(+) 출력하시오


list_1 = []
list_2 = ["시간", "2023", "가나다라"]

for i in range(3):
	a = input()
    list_1.append(a)
    
print(list_1[1] + list_2[1])

문제 3 : 빈 딕셔너리에 게임 아이템 총 3개를 입력받고 이들 딕셔너리에서 찾고자 하는 아이템을 검색해 만약 있다면 몇 개가 있는지를 출력하고, 찾는 아이템이 없다면 없다고 메시지를 출력해보자.


dict_1 = dict()

for i in range(3):
	a = input()
    cnt = int(input())
    dict_1[a] = cnt
result = input()
test = dict_1.get(result)

if result in dict_1:
	print(f" 게임 아이템 {result}{test}개 존재합니다.")
else:
	print("없습니다")

문제 4: 리스트1, 리스트2를 각각 세트1, 세트2로 변환하여 교집합, 합집합, 차집합 연산을 해보자


def list_to_set(a : list ,b : list) -> set:
	n1 = a&b
    print(f"교집합 : {n1}")
    n2 = a|b
    print(f"합집합 : {n2}")
    n3 = a-b
    print(f"차집합 : {n3}")

문제 5: 제어문 중 반복문을 이용해 다음의 리스트 내용을 enumerate와 zip을 이용해서 튜플 형식으로 출력하시오.


test = [1,2,3,4,5]
list_1 = ["새삥", "That That", "attention"]
list_2 = [96, 12, 10, 27]

for a, b in enumerate(test):
	print(f"인덱스번호와 값 : {a},{b}")
    
for i in zip(list_1, list_2):
	print(i)

문제 6: 다음과 같이 사용자 정의 함수 밖의 리스트를 사용해서 이 값들을 입력받아 각각 값을 출력해보자

  • 단 12라는 값이 입력되면 리스트에 값이 남아 있더라도 "12가 확인되어 반복문을 종료합니다"를 출력하고 종료

def func_1(a : list):
	
    for i in a:
    	if i == 12:
        	print("12가 확인되어 반복문을 종료합니다")
            break
        else:
        	print(i)

연습문제

  1. 다음의 함수 디폴트 인수를 사용해서 매개변수에 값을 전달했을 때 어떤 값이 나오는지 확인하시오
    <제약사항> : n과 s로 매개변수를 받는데, 이때 s를 디폴트 함수로 "***"를 받도록한다
    사용할 함수의 경우 func_1, 반복문을 사용해서 반복

def func_1(n, s="***"):
	
    for i in range(n):
    	print(s*i)
        print(i)
  1. 사용자가 입력한 수부터 30까지의 홀수와 짝수를 구별해 출력하시오.
    <제약사항> while 사용해 반복문, 숫자중 28이 나오면 중단 , 사용자가 입력한 값부터 홀수와 짝수를 출력

num = int(input())

while True:
    if num == 28:
        print(num)
        break
    else:
        if num & 1  == 1:
            print(f"{num} 홀수")
        else:
            print(f"{num} 짝수")
        num += 1

도전 문제

  1. 리스트를 이용해서 점수를 입력받고 이들 중 최고점과 최소점, 그리고 평균을 검색하는 프로그램을 작성
    <제약사항> 리스트는 사용자로부터 5명의 성적을 입력받고, 함수를 이용해서 각각 최고점, 최소점, 평균을 구하는 함수를 만든다
    사용자가 질문을 통해 최고점 최저점, 평균을 확인할 수 있도록 만들어보자
    사용자가 0을 입력하면 종료 전까지는 무한 반복
import numpy as np

list_1 = []

for i in range(5):
    a = int(input())
    list_1.append(a)

def maxfunc(a : list) -> int:
    return max(a)

def minfunc(a : list) -> int:
    return min(a)

def avgfunc(a : list) -> int:
    return np.mean(a)

while True:
    res = int(input("검색하고 싶은 내용 : (0 : 종료, 1: 최고, 2: 최저, 3: 평균)"))
    
    if res == 0:
        break
    elif res == 1:
        print(f"최고 : {maxfunc(list_1)}")
    elif res == 2:
        print(f"최저 : {minfunc(list_1)}")
    elif res == 3:
        print(f"평균 : {avgfunc(list_1)}")
    else:
        print("잘못입력")

0개의 댓글