파이썬 반복문과 리스트

이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
잔재미코딩 소식 공유
좀더 제약없이, IT 컨텐츠를 공유하고자, 자체 온라인 강의 사이트와 유투브 채널을 오픈하였습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
●  잔재미코딩 유투브 오픈 [구독해보기]

기존 유투브 영상은 설명없이 키보드로 코드를 작성하는 모습만 보여드려서 보기가 불편하여, 정답 코드로 대체합니다.
본 컨텐츠는 저작권법의 보호를 받으며, 무단 복제, 가공, 외부 오픈이 확인될 경우, 법적 책임을 물을 수 있습니다,

Exercise 31. 반복문

  • 1 ~ 10까지의 숫자에 대해 모두 더한 값을 출력하는 프로그램을 for 문을 사용하여 작성하세요.
In [ ]:
sum = 0
for num in range(1, 11):
    sum += num
print (sum)

Exercise 32. 반복문

  • 사용자로부터 2 ~ 9 사이의 숫자를 입력 받은 후, 해당 숫자에 대한 구구단을 출력하세요.
In [ ]:
digit = int(input())
for num in range(1, 10):
    print (digit, "x", num, "=", digit * num)

Exercise 33. 반복문과 문자열 다루기 (split)

  • 사용자로부터 , 로 구분된 여러 이름을 입력받아서, 한 줄에 하나씩 이름을 출력하세요
    • 사용자 입력: Dave,David,Andy,Arthor
    • 출력 예:
      Dave
      David
      Andy
      Arthor
본 자료와 같이 IT 기술을 잘 정리하여, 온라인 강의로 제공하고 있습니다
퀄러티가 다른 온라인 강의로 차근차근 익혀보세요
In [ ]:
strings = input()
for string in strings.split(","):
    print (string)

Exercise 34. 반복문과 문자열 다루기 (split)

  • 사용자로부터 [이름1],[이름2],[이름3] 과 같은 형식으로 데이터를 입력받아서, 한 줄에 하나씩 이름을 출력하세요
    • 사용자 입력: [Dave],[David],[Andy],[Arthor]
    • 출력 예:
      Dave
      David
      Andy
      Arthor
In [ ]:
strings = "[Dave],[David],[Andy],[Arthor]"
for string in strings.split(","):
    # print (string)
    print (string.strip("[]"))

Exercise 35. 반복문과 조건문

  • 1부터 30까지의 숫자 중 3의 배수만 출력하세요.
In [ ]:
for num in range(1, 31):
    if num % 3 == 0:
        print (num)

Exercise 36. 반복문 (while)

  • 1부터 100까지 숫자를 모두 더한 값을 출력하세요.
    • 단 while 구문을 사용해서 작성하세요.
In [ ]:
total, num = 0, 1

while num < 101:
    total += num
    num += 1

print (total)  

Exercise 37. 반복문 (while)

  • 사용자로부터 4자리의 숫자로 구성된 데이터를 입력받아서
    • 비밀번호와 같으면 '비밀번호가 맞습니다.'를 출력하고 종료하세요.
    • 비밀번호와 다르면 '비밀번호가 틀렸습니다.'를 출력하고 다시 사용자로부터 데이터를 입력받으세요.
      • 비밀번호는 4312 입니다.
In [ ]:
password = "4312"
data = str()

while data != password:
    data = input()
    if data == password:
        print ("비밀번호가 맞습니다.")
        break
    else:
        print ("비밀번호가 틀렸습니다.")

Exercise 38. 데이터 구조와 반복문 (리스트)

  • 다음 리스트 변수에서 음수 데이터를 삭제하고, 양수만 가진 리스트 변수로 만들고, 해당 변수를 출력하세요.
num_list = [0, -11, 31, 22, -11, 33, -44, -55]
본 자료 보다 업데이트된 자료와 함께 온라인 강의로 익히면 체계적으로 이해할 수 있습니다!
퀄러티가 다른 온라인 강의로 차근차근 익혀보세요
In [ ]:
num_list = [0, -11, 31, 22, -11, 33, -44, -55]
num_list2 = list()

for index, num in enumerate(num_list):
    if num >= 0:
        num_list2.append(num)
    
print (num_list2)

Exercise 39. 데이터 구조와 반복문 (리스트)

  • 다음 리스트에 있는 데이터의 길이를 한 라인에 하나씩 출력하세요.
list_data = ["fun-coding", "Dave", "Linux", "Python", "javascript", "front-end", "back-end", "dataengineering"]
In [ ]:
list_data = ["fun-coding", "Dave", "Linux", "Python", "javascript", "front-end", "back-end", "dataengineering"]
for data in list_data:
    print ("\"" + data + "\"" + "'s length is", len(data))

Exercise 40. 데이터 구조와 반복문 (리스트)

  • 다음 리스트에 있는 숫자를 역 방향으로 출력하세요.
    • 단, 리스트에 있는 숫자들은 한 라인에 하나씩 출력하세요.
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  • 실행 예:

10
9
8
7
6
5
4
3
2
1

In [ ]:
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
data.reverse()

for item in data:
    print (item)
본 자료와 같이 IT 기술을 잘 정리하여, 온라인 강의로 제공하고 있습니다
체계적으로 전문가 레벨까지 익힐 수 있도록 온라인 강의 로드맵을 제공합니다

Exercise 41. 데이터 구조 (리스트), 반복문, 문자열 다루기

  • 다음과 같이 파일 이름(확장자 포함) 저장하고 있는 리스트가 있을 때 확장자를 제거하고 파일 이름만 출력하세요.
filelist = ['exercise01.docx', 'exercise02.docx', 'exercise03.docx', 'exercise04.docx', 'exercise05.docx']
In [ ]:
filelist = ['exercise01.docx', 'exercise02.docx', 'exercise03.docx', 'exercise04.docx', 'exercise05.docx']

for filename in filelist:
    print (filename.split(".")[0])

Exercise 42. 데이터 구조 (리스트), 반복문, 조건문, 문자열 다루기

  • 파일 이름이 다음과 같은 리스트에 저장되어 있을 때 확장자가 .txt 인 파일에 대한 리스트를 출력하라
filelist = ['exercise01.docx', 'exercise02.csv', 'exercise03.txt', 'exercise04.hwp']
In [ ]:
filelist = ['exercise01.docx', 'exercise02.csv', 'exercise03.txt', 'exercise04.hwp']

for filename in filelist:
    if filename.split(".")[1] == "txt":
        print (filename)

Exercise 43. 문자열 다루기와 조건문

  • prices 변수에 입력된 값을 원 화로 바꿔서 계산하세요.
prices = '100 달러'
  • 환율은 다음과 같음
통화단위 원화 환율
달러 1112

출력:
111200 원

본 자료와 같이 IT 기술을 잘 정리하여, 온라인 강의로 제공하고 있습니다
가장 빠르게 풀스택 개발자가 될 수 있도록, 최적화된 로드맵을 제공합니다
In [ ]:
prices = '100 달러'
price = prices.split()
print (int(price[0]) * 1112, "원")

Exercise 44. 문자열 다루기와 조건문

  • 사용자로부터 달러 또는 위안 금액을 입력받은 후 이를 원으로 바꿔서 계산하세요.
    • 사용자는 100 달러, 100 위안 과 같이 금액과 통화명 사이에 공백을 넣어 입력하기로 합니다.
    • 각 통화별 환율은 다음과 같습니다.
통화단위 원화 환율
달러 1112
위안 171

출력:
111200 원

In [ ]:
prices = '100 위안'
price = prices.split()
if price[1] == "달러":
    print (int(price[0]) * 1112, "원")
elif price[1] == "위안":
    print (int(price[0]) * 171, "원")

Exercise 45. 문자열 다루기, 조건문, 데이터 구조 (dictionary)

  • 다음 통화별 환율을 통화단위와 원화 환율을 가진 딕셔너리로 만들고 사용자로부터 달러, 엔, 또는 위안 금액을 입력받은 후 이를 원으로 바꿔서 계산하세요.
    • 사용자는 100 달러, 100 위안 과 같이 금액과 통화명 사이에 공백을 넣어 입력하기로 합니다.
통화단위 원화 환율
달러 1112
위안 171
1010
In [ ]:
exchange = {"달러": 1112, "위안": 171, "엔": 1010}

prices = input()
price = prices.split()
if price[1] == "달러" or price[1] == "위안" or price[1] == "엔":
    print (int(price[0]) * exchange[price[1]], "원")
본 자료와 같이 IT 기술을 잘 정리하여, 온라인 강의로 제공하고 있습니다
퀄러티가 다른 온라인 강의로 차근차근 익혀보세요

Exercise 46. 이중 반복문

  • 구구단을 2단부터 9단까지 다음과 같이 출력하세요
    • 출력 예
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
3 X 1 = 3
3 X 2 = 6
.
.
.
9 X 7 = 63
9 X 8 = 72
9 X 9 = 81
In [ ]:
for num1 in range(2, 10):
    for num2 in range(1, 10):
        print (num1, "x", num2, "=", num1 * num2)

Exercise 47. 이중 반복문과 조건문

  • 구구단을 2단부터 9단까지 출력하되, 계산 값이 짝수인 경우에만 출력하세요
    • 예: 3 X 3 = 9 에서 9는 홀수이므로 출력하지 않는다.
    • 예: 2 X 4 = 8 에서 8은 짝수이므로 출력한다.
    • 최종 출력 예
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
3 X 2 = 6
3 X 4 = 12
3 X 6 = 18
3 X 8 = 24
4 X 2 = 8
4 X 3 = 12
4 X 4 = 16
4 X 5 = 20
4 X 6 = 24
4 X 7 = 28
4 X 8 = 32
4 X 9 = 36
5 X 2 = 10
5 X 4 = 20
5 X 6 = 30
5 X 8 = 40
6 X 2 = 12
6 X 3 = 18
6 X 4 = 24
6 X 5 = 30
6 X 6 = 36
6 X 7 = 42
6 X 8 = 48
6 X 9 = 54
7 X 2 = 14
7 X 4 = 28
7 X 6 = 42
7 X 8 = 56
8 X 2 = 16
8 X 3 = 24
8 X 4 = 32
8 X 5 = 40
8 X 6 = 48
8 X 7 = 56
8 X 8 = 64
8 X 9 = 72
9 X 2 = 18
9 X 4 = 36
9 X 6 = 54
9 X 8 = 72
In [ ]:
for num1 in range(2, 10):
    for num2 in range(1, 10):
        result = num1*num2
        if result % 2 == 0:
            print (num1, "x", num2, "=", result)

Exercise 48. 이중 반복문과 데이터 구조 (리스트)

  • 아파트 동호수를 다음과 같은 두 리스트 변수를 활용해서 출력하세요.
    • 단, 각 동과 동 사이에는 구분이 되도록 한 라인씩 띄워서 출력하세요
dongs = ["6209동", "6208동", "6207동"]
hos = ["101호", "102호", "103호", "104호"]
  • 출력 예:
6209동 101호
6209동 102호
6209동 103호
6209동 104호
6208동 101호
6208동 102호
6208동 103호
6208동 104호
6207동 101호
6207동 102호
6207동 103호
6207동 104호
In [ ]:
dongs = ["6209동", "6208동", "6207동"]
hos = ["101호", "102호", "103호", "104호"]
for dong in dongs:
    for ho in hos:
        print (dong, ho)