Language/Python

[ Python ] 문자를 이용한 반복문 연습 프로그램

곽수진 2021. 8. 27. 15:34
반응형
사용자에게 특수 문자 하나를 입력 받아 높이가 5인 삼각형을 만드는 프로그램을 작성해보자.

 

Ex. * 입력시
*
**
***
****
*****

 

c = input("특수문자 하나를 입력하세요: ")

for i in range(5):
    print(c*(i+1))

 

결과값 출력 모습

 

▶ 사용자가 입력한 특수 문자를 하나씩 늘려가는 과정을 5번 반복

 

 


 

 

사용자로부터 문자열 하나를 입력 받아 입력한 문자들 사이사이에 공백 문자를 넣어 출력하는 프로그램을 작성해보자.

 

Ex. str 입력시
s t r

 

c = input("문자열을 입력하세요: ")

for i in c:
    print(i, end=" ")

 

결과값 출력 모습

 

end=" " : 문자열 사이에 넣는 공백 역할을 함

 

 


 

 

문자열을 하나 입력받아 입력된 문자열의 길이만큼 반복하면서 한 글자씩 추가되며 출력하는 프로그램을 작성해보자.

 

Ex. string 입력시
s
st
str
stri
strin
string

 

c = input("문자열을 입력하세요: ")
c_len = len(c)
i = 1

while i <= c_len:
    print(c[:i])
    i += 1

 

결과값 출력 모습

 

while i <= c_len : 1부터 사용자가 입력한 문자열의 길이까지 True인 동안 계속해서 반복됨

c[ :i] : 사용자가 입력한 문자열의 처음부터 끝까지를 의미함

i += 1 : i를 하나씩 늘려가며 더해감

 

 


 

 

랜덤으로 5~10 중 숫자를 하나 결정하고 문자를 입력해 아래 출력 결과처럼 출력되는 프로그램을 작성해보자.

 

Ex. #을 입력하였고 랜덤으로 6이 나온 경우
1 #
2 ##
3 ###
4 ####
5 #####
6 ######

 

import random

ch = input("문자열 입력: ")
rn = random.randint(5,10)

for i in range(1, rn+1):
    print("%s"%(i), end=" ")
    print(ch*i)

 

결과값 출력 모습

 

for i in range(1, rn+1) : 1부터 5~10 사이의 랜덤수까지 반복문이 돌아감

print("%s"%(i), end=" ") : 반복문을 통해 i에 저장된 값을 공백을 두며 출력함

print(ch*i) : 사용자가 입력한 문자열에 반복문에 저장된 값이 함께 출력됨

 

 


 

 

특수문자 *을 이용해 다양한 형태의 삼각형을 만드는 프로그램을 작성해보자.

 

for i in range(5):
    for i in range(5,i, -1):
        print("*", end="") # "*" 출력
    print() #줄바꿈을 위해 사용되는 print

 

결과값 출력 모습

 

for i in range(5, i, -1) : i값에 5부터 i까지 역순으로 반복함

 

 

for i in range(5):
    for j in range(4, i, -1):
        print(" ",end="")
    for k in range(i+1):
        print("*", end="") # "*" 출력
    print() #줄바꿈을 위해 사용되는 print

 

결과값 출력 모습

 

for i in range(5) : 별이 출력되는 반복문 5번 시행

for j in range(4, i, -1) : 4개부터 시작해서 i까지 역순으로 반복됨 → * 앞의 빈칸을 출력

for k in range(i+1) : range(i)는 0부터 4까지 반복하므로 1씩 더해줌

 

 

for i in range(5):
    for j in range(0,i):
        print(" ", end="")
    for k in range(5,i,-1):
        print("*", end="")
    print()

 

결과값 출력 모습

 

▶ for i in range(5) : 별이 출력되는 반복문 5번 시행

for j in range(0, i) : 0부터 i-1까지 * 앞의 공백을 출력함

for k in range(5, i, -1) : 5부터 i까지 역순으로 출력함

반응형