-
38 - reversed() 함수와 별 피라미드 - 추가연습 필요study with Q - 파이썬 2024. 4. 22. 21:56
#reversed() 함수
: 매개변수로 반복 가능한 것을 넣으면 결과로 그것을 뒤집어서 나타내줌
: 결과 자료형 : 이터레이터
반복가능한 자료형이라고 나오기는 하는데 나중에 배울 예정...#리스트에 reversed() 함수를 적용해보기
reversed([0,1,2,3,4])로 리스트에 reversed() 함수를 적용해보고 결과를 볼 수 있게 list 함수와 print로 감싸면
print(list(reversed([0,1,2,3,4]))) >>> [4, 3, 2, 1, 0]
#딕셔너리에 reversed() 함수를 적용해보기 는 많지 않아서 생략#범위에 reversed() 함수를 적용해보기
reversed(range(0, 9+1))
print(list(reversed(range(0, 9+1)))) >>> [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
reversed() 함수는 범위를 반대로 출력할 때 주로 사용
print ("카운트다운!") for i in reversed(range(0, 10+1)): print (f"{i}") >>> 카운트다운! 10 9 8 7 6 5 4 3 2 1
#왼쪽 정렬 별 피라미드
- 문자열 반복 연산자를 사용하는 방법
star = 10 for i in range(1, star+1): print("*"*i) >>> * ** *** **** ***** ****** ******* ******** ********* **********
그래서 백준 2438번은
더보기문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.star = int(input()) for i in range(1, star+1): print("*"*i)
- 문자열*연산자를 사용하지 않고 반복문으로 구현하는 방법
step1) N(10)개의 별을 가로로 출력하기
end 키워드를 사용
하면 편하지만 아직 모르니까더보기N = 10 for i in range(N): print("*", end="") >>> **********
result라는 문자열 매개변수를 만들고 result에다가 *을 하나씩 더해주고 문자열 매개변수를 출력한다.
N = 10 result = "" for i in range(N): result += "*" print(result) >>> **********
step2) N개의 별을 가로로 출력하는 것을 반복문에 넣어주고 개수를 i개로 변환한다.
star = 10 for i in range(1, star+1): N = i result = "" for j in range(N): result += "*" print(result) >>> * ** *** **** ***** ****** ******* ******** ********* **********
N = i를 바로 넣어버려서 코드를 조금 더 간단하게!
더보기star = 10 for i in range(1, star+1): result = "" for j in range(i): result += "*" print(result)
#가운데 정렬 삼단 별 피라미드
> 가운데 정렬처럼 보이는 삼단 피라미드는
print(" *") print(" ***") print("*****")
> 그렇다면 공백은 층별로 2,1,0개 / 별은 1,3,5개가 되니까
공백의 일반항은 !층수 - i* / 별의 일반항은 !2i-1*
twk = 3 for i in range(1, twk+1): rst = "" rst += " " * (twk-i) #print("공백") rst += "*" * (2*i-1) #print("별") print(rst) >>> * *** *****
> 문자열 *연산자 대신 반복문만 쓰면
for i in range(1,twk+1): rst = "" for _ in range(twk-i): rst += " " #print("공백") for _ in range(2*i-1): rst += "*" #print("별") print(rst)
#그외 별 피라미드도 연습해보기
replit
'study with Q - 파이썬' 카테고리의 다른 글
40 - break/continue 키워드 (0) 2024.04.27 39 - while 반복문 (0) 2024.04.25 37 - 백준 온라인 저지에서 여러 줄 입력 받기 - 추가문풀 필요 (0) 2024.04.22 36 - 수열의 일반항과 점화식, 등차 수열, 피보나치 수열 - 추가 문제 풀기 (0) 2024.04.16 35 - 범위와 반복문 (0) 2024.04.15