본문 바로가기

기타/문제풀이

[Python_문제풀이] 반복문 + 조건문 2

반응형

from https://wikidocs.net/book/922

 

Q) 리스트에는 네 개의 문자열이 바인딩돼 있다.

리스트 = ["가", "나", "다", "라"]

for문을 사용해서 다음과 같이 출력하라.

A)

풀이1)

for i in ["가", "나", "다", "라"]:
    if i == "가":
        print()
    else: 
        print(i)

풀이2)

my_list = ["가", "나", "다", "라"]
for i in my_list[1 : ] :
    print(i)

Q) 리스트에는 네 개의 문자열이 바인딩돼 있다.

리스트 = ["가", "나", "다", "라"]

for문을 사용해서 다음과 같이 출력하라.

 

A)

풀이1) 

listwords = ["가", "나", "다", "라"]

for i in listwords:
    if listwords.index(i)== 0 or listwords.index(i)== 2:
        print(i)

풀이2) 

my_list = ["가", "나", "다", "라"]
for i in my_list[ : : 2]:
    print(i)

 

Q) 리스트에는 네 개의 문자열이 바인딩돼 있다.

리스트 = ["가", "나", "다", "라"]

for문을 사용해서 다음과 같이 출력하라.

A)

풀이1)

listwords = ["가", "나", "다", "라"]

for i in listwords[ : :-1]:
    print(i)

풀이2)

my_list = ["가", "나", "다", "라"]
my_list.reverse()

for data in my_list:
    print(data)

 

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

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

 

예시 답변) 

12

18

 

A)

풀이1)

numlist = [13, 21, 12, 14, 30, 18]

for i in numlist:
    if i < 20:
        if i % 3==0:
            print(i)

풀이2)

numlist = [13, 21, 12, 14, 30, 18]

for data in numlist:
    if data < 20 and data%3==0:
            print(data)

 

Q) 리스트에서 세 글자 이상의 문자를 화면에 출력하라.

리스트 = ["I", "study", "python", "language", "!"]

 

예시 답변) 

study

python

language

 

A)

wordlist = ["I", "study", "python", "language", "!"]

for i in wordlist:
    if len(i) >= 3:
        print(i)

 

Q) 파일 이름이 저장된 리스트에서 확장자가 .h나 .c인 파일을 화면에 출력하라.

리스트 = ['intra.h', 'intra.c', 'define.h', 'run.py']

 

예시 답변) 

intra.h

intra.c

define.h

 

A)

풀이1)

my_list = ['intra.h', 'intra.c', 'define.h', 'run.py']
for data in my_list:               
    data_list = data.split('.') 
    if data_list[-1]== 'h' or data_list[-1] == 'c':
        print(data)

풀이2)

filelist = ['intra.h', 'intra.c', 'define.h', 'run.py']

for i in filelist:
    if '.h' in i or '.c' in i :
        print(i)

-> 이렇게 표현하면, 현재 문제에서는 해결 가능하다. 

-> 그러나, 데이터 타입이 filename = 'hello.computer.py' 이런 파일이 있을 경우에는, 
-> 버그가 생길 경우가 있다. 
-> 실무에서는 파일명안에 '.'이 있는 경우도 있다. 

-> 추천하지 x

 

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

A)

for i in range(100):
    print(99-i)

 

 

반응형