본문 바로가기
문제풀이/창의적 프로그래밍을 위한 파이썬

[창의적 프로그래밍을 위한 파이썬] 7장 연습문제

by 그적 2021. 4. 30.

1. 다음 프로그램의 결과를 예상해보자.

list1 = ['n', 'e', 'w', 'l', 'i', 's', 't']
list2 = ['n', 'e', 'w', 's', 't', 'r', 'i', 'n', 'g']
list_new = list1[3] + list2[6]
print(list_new)

: li

 

 

2. 다음 실행문의 결과는 무엇인가?

>>> title = ['P', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g']
>>> title [:7]

: ['P', 'r', 'o', 'g', 'r', 'a', 'm']

 

 

3. words라는 list 안에 happy, love, I, am, You라는 단어가 차례로 들어가 있다. 이 단어들로 문장을 만들어보자.

words = ['happy', 'love', 'I', 'am', 'You']
word_new = words[2]+" "+words[3]+" "+words[0]
print(word_new)

 

 

4. 철수, 영희, 수지, 수정, 길동, 영철 총 6명의 학생이 학원의 같은 반이다. 수정이가 친구와 놀러 간다고 학원 수업에 빠졌고, 수정이의 엄마는 수정이가 왔는지 오지 않았는지 확인 전화를 걸어본다. 수정이가 있는지 없는지를 in을 이용해 알아보자.

list = ['철수', '영희', '수지', '수정', '길동', '영철']
list[3] = ''

if '수정' in list :
    print('수정이는 학원에 왔습니다.')
else :
    print('수정이는 학원에 오지 않았습니다.')

 

 

5. 다음 요구사항을 보고 프로그램을 작성해보자.

# |요구사항|
# 로또는 6개의 숫자를 입력해야 한다.
# List1[1,2,3,6,7]이라 할 때, 통과할 수 있는지 알아보는 프로그램을 작성해보자.

List1=[1,2,3,6,7]
if len(List1) == 6 :
    print('통과')
else :
    print('통과 못함.')

 

 

6. word=['h', 'i', 'm', 'y', 'n', 'a', 'm', 'e', 'i', 's']의 list가 있다. 여기서 단어 하나를 추출해보자.

word=['h', 'i', 'm', 'y', 'n', 'a', 'm', 'e', 'i', 's']
print(word[0])

 

 

7. list인 introduce에는 '내', '이', '름', '은', '수', '지', '야'라는 요소들이 들어가 있다. 여기서 이름인 수지를 민수로 바꾸어보자.

introduce = ['내', '이', '름', '은', '수', '지', '야']
introduce[4:6] = '민수'
print(introduce)

 

 

8. 다음 요구사항을 만족하는 프로그램을 만들어보자.

# |요구사항\
# winner = ['박민아', '정민호', '김철수', '이영희', '손수정']
# 위의 list는 어떤 공모전의 수상자 명단이다.
# 1) 정수지가 수상했는지 확인하라.
# 2) 김철수가 수상하지 못했는지 확인하라.
# 3) 박민아가 수상했는지 확인하라.
# 4) 전은진이 수상하지 못했는지 확인하라.

winner = ['박민아', '정민호', '김철수', '이영희', '손수정']

if '정수지' in winner :
    print('정수지는 수상자입니다.')
else :
    print('정수지는 수상자가 아닙니다.')

if '김철수' not in winner :
    print('김철수는 수상자가 아닙니다.')
else :
    print('김철수는 수상자입니다.')
    
if '박민아' in winner :
    print('박민아는 수상자입니다.')
else :
    print('박민아는 수상자가 아닙니다.')

if '전은진' not in winner :
    print('전은진은 수상자가 아닙니다.')
else :
    print('전은진은 수상자입니다.')

 

 

9. phone이라는 list하나를 선언 후, 수지, 민지, 철수, 미소의 번호를 저장하려 해보자.

phone = [['수지', ''], ['민지', ''], ['철수', ''], ['미소', '']]
phone[0][1] = input(phone[0][0]+'의 전화번호를 입력하세요. ')
phone[1][1] = input(phone[1][0]+'의 전화번호를 입력하세요. ')
phone[2][1] = input(phone[2][0]+'의 전화번호를 입력하세요. ')
phone[3][1] = input(phone[3][0]+'의 전화번호를 입력하세요. ')

print(phone)

 

 

10. 다음 요구사항을 만족하는 프로그램을 작성해보자.

# score라는 list 안에 학생 별로 점수를 저장한다. Peter는 100점, john는 0점, mina는 55점, tim은 75점, cony는 95점이다. 이때, tim의 점수를 조회해보자.

score = [['Peter', 100], ['join', 0], ['mina', 55],['tim', 75], ['cony', 95]]

for sc in score :
    if 'tim' in sc :
        print('tim의 점수는',sc[1],'입니다.')

 

 

11. 다음 요구사항을 보고 프로그램을 작성해보자.

# |요구사항|
# 문자로만 이루어진 리스트 string=['happy', 'love', 'dog', 'cat']와 숫자로만 이루어진 리스트
# num=[1,2,6,3,9,5]와 공백리스트 empty=[]와 숫자와 문자가 섞인 리스트 mix=[4,0,'hi', 1, 'sun', 'x'] 가 있다.
# 이 리스트의 전체 요소 개수를 구하는 프로그램을 작성해보자.

string=['happy', 'love', 'dog', 'cat']
num=[1,2,6,3,9,5]
empty=[]
mix=[4,0,'hi', 1, 'sun', 'x']

sum = len(string)+len(num)+len(empty)+len(mix)
print(sum)

 

 

12. str_b라는 리스트에는 boy, is가 잇고, str_g라는 리스트에는 girl, is가 있다. str_bad에는 bad가 있고, str_good에는 good이 있다. str_b와 str_bad를 합치고, str_g와 str_good을 합쳐서 각각 출력해보자.

str_b = ['boy', 'is']
str_g = ['girl', 'is']
str_bad = ['bad']
str_good = ['good']

print(str_b + str_bad)
print(str_g + str_good)

 

 

13. spell이라는 list 안에는 'j', 'e', 's', 'u', 's'가 들어있다. 이 중, 뒤의 's', 'u', 's'부분을 'l', 'l', 'y'로 바꾸려 한다. slice를 사용하여 바꾸어보자.

spell = ['j', 'e', 's', 'u', 's']
spell[2:] = 'lly'
print(spell)

 

 

14. season의 list 안에는 spring, summer, fall, winter의 사계절이 요소로 들어가 있다. 수연이는 겨울을 너무 좋아해서 season을 2번 반복시켰고, 두 번째로 반복된 부분은 모두 winter로 바꾸었다. 위에 맞게 프로그램을 작성해보자.

season = ['spring', 'summer', 'fall', 'winter']
new = season + [season[3]]*4

print(season*2)
print(new)

 

 

15. word라는 list 안에 I, like, You, He, her, love, hate, dog라는 단어가 차례로 들어가 있다. 이 요소로 문장을 만들어보자.

word = ['I', 'like', 'You', 'He', 'her', 'love', 'hate', 'dog']

print(word[2], word[5], word[7])

 

 

16. 다음 요구사항을 만족하는 프로그램을 작성해보자. (요구사항 생략)

week = ['6월 6일 일요일', '6월 14일 월요일', '6월 8일 화요일', '6월 30일 수요일', '6월 3일 목요일', '6월 18일 금요일', '6월 26일 토요일']

num = int(input('0부터 6까지 입력하세요. '))
if num>=0 and num<6 :
    print(week[num], '로 상담이 예약되었습니다.')
else :
    print('숫자를 잘못입력하셨습니다.')

 

 

17. 다음 요구사항을 만족하는 프로그램을 작성해보자. (요구사항 생략)

find_word = ['t','e','c','h','n','o','l','o','g','y']
word = []

while(True) :
    print(find_word, end='')
    tmp = input('에서 찾을 수 있는 단어는?')

    i = 0
    while i<len(tmp) :
        if tmp[i] not in find_word :
            print('찾을(조합할) 수 없는 단어입니다.')
            break
        i += 1

    if i==len(tmp) :
        print('찾을(조합할) 수 있는 단어입니다.')
        word.append(tmp)

 

 

18. 현재 전화번호부 안에 min, jin, jay, ken, ain의 번호가 저장되어 있다. jake와 jin의 번호가 있는지 조회한 후, 있다면 번호를 출력해보자.

tele = ['010-1111-1111', '010-2222-2222', '010-3333-3333', '010-4444-4444', '010-5555-5555', '010-6666-6666']

if '010-9999-9999' in tele :
    print('jake의 전화번호가 존재합니다.')
else :
    print('jake의 전화번호는 존재하지 않습니다.')

if '010-2222-2222' in tele :
    print('jin의 전화번호는 010-2222-2222입니다.')
else :
    print('jin의 전화번호는 존재하지 않습니다.')

 

 

19. 다음 요구사항을 보고 프로그램을 작성해보자. (요구사항 생략)

goodsay = ['happy', 'love', 'sad', 'hot', 'angry', 'fortunate']

num = int(input('0부터 5까지 숫자를 입력하시오 : '))

if num>=0 and num<5 :
    print(goodsay[num])

 

 

20. 다음 요구사항을 보고 프로그램을 작성해보자. (요구사항 생략)

team = ['민지', '경희', '상구', '철수', '지민']

if len(team) > 3 :
    print('팀원은 최대 3명입니다. 팀원을 줄여주세요.')

 

 

21. 수학 시험을 5회 응시한 후 점수를 각각 90점, 75점, 30점, 100점, 85점을 받았다. 이 점수들을 각각 score라는 list 안에 저장했고, list의 성격을 이용해 평균을 구해보자.

score = [90, 75, 30, 100, 85]
average = (score[0]+score[1]+score[2]+score[3]+score[4])/5
print(average)

 

 

22. 다음 요구사항을 보고 프로그램을 작성해보자. (요구사항 생략)

piano = ['도', '레', '미', '파', '솔', '라', '시']
school_bell = piano[4]*2 + piano[5]*2 + piano[4]*2 + piano[2]
print(school_bell)

# 요구사항에서 화음은 갑자기 왜나온거지? ....

댓글