1번 문제 : 등차수열 형태로 별 쌓기
첫 번째 문제는 *을 1개, 아래는 2개, 3개 … 이런 식으로 쌓는 것이 목적이다.
결과물은 왼쪽 정렬된 형태인 ‘계단 모양’을 띄어야 한다.
1) 이중 for문을 사용하여 출력하기
1 | for i in range(5): # index : i and j |
여기서 end=”\n”의 의미는, print에 의해 결과값을 출력한 후 마지막에 ‘줄바꿈’하기.
end=”” 이런 식으로 사용해서 print 의 결과값을 계속 붙여 나갈수도 있다.
2) 하나의 for문을 사용하여 출력하기
1 | for k in range(5): |
2번 문제 : 문자열의 모든 인덱스를 리스트에 넣는 코드 만들기
두 번째 문제는 원하는 문자열을 입력 받은 후, 인덱스를 찾고 싶은 문자를 입력하면 찾아주는 코드를 짜는 것이다.
예를 들어, “string”을 입력하고 “t”를 입력할 경우, 1이 출력되어야 한다.
1 | input_string = input("원하는 문자열을 입력하시오 : ") # 문자열 입력받기 |
여기서 enumerate() 함수가 사용되었다.
enumerate는 “열거하다”라는 뜻으로, 이 함수는 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 리턴하게 된다.
위의 예시에서는 input_string (문자열)을 입력받아, 인덱스값 (i)와 문자 (chr)가 함께 있는 객체를 for문에 의하여 가지고 있게 되었다.
이처럼 enumerate() 함수는 주로 for문 안에서 객체의 위치를 알고 싶을 때 자주 사용한다.
3번 문제 : 가운데 정렬로 별로 된 탑 쌓기
세 번째 문제는 *을 1개, 3게, 5개 … 이렇게 쌓아서 가운데 정렬 후 출력하는 것이 목표이다.
1) 이중 for문을 사용하여 출력하기
1 | for i in range(5): |
반복문을 사용하여, 빈칸 + 별모양 + 빈칸 이런 식으로 구성 후 출력하였다.
2) 하나의 for문을 사용하여 출력하기
1 | for k in range(6): |
여기서는 앞서 배웠던 format 함수를 사용한 ‘가운데 정렬’을 사용하였다.
4번 문제 : 숫자 맞추기 게임
마지막 문제는 1부터 100 사이의 숫자를 하나 랜덤하게 생성하고, 이를 맞추는 게임을 짜는 것이다.
숫자를 하나 생성하고, 그 다음 사용자가 숫자를 입력하면 이 둘을 비교하여 ‘높음’, ‘낮음’, ‘맞췄다’를 출력해야 한다.
또한, 몇 번의 guess 끝에 답을 맞췄는지 시도한 횟수를 값으로 출력해야 한다.
1 | import random |
여기서 하나 주목할 점은 random 함수 이다.
처음에 import random을 통해 모듈을 불러왔고, 이를 통해서 random.randrange()와 같은 함수를 사용할 수 있게 되었다.
이름에서 알 수 있듯이, 이 함수는 (x,y)를 입력하면 x이상 y미만의 범위 내에서 랜덤하게 숫자를 하나 생성하는 기능을 가진다.
유사한 연습 문제들을 보통 1학년 컴퓨터 프로그래밍 수업 시간에 접하곤 한다.
주로 C로 짜보게 되는데, python은 상대적으로 코드들이 간단하게 구현된다. 파이썬 최고!