inflearn logo
강의

Khóa học

Chia sẻ kiến thức

(2026 Mới nhất!) Đỗ thực hành Kỹ sư xử lý thông tin chỉ trong một tuần

4. Phương thức chuỗi, định dạng, cắt chuỗi và range()

출력값 문의

2

dhkdxo12

50 câu hỏi đã được viết

0

  1. 문자열 메서드와 포맷팅, 슬라이싱과 range()


    31:58


    total = 0


    for n in range(2, 11, 2);
    total += n
    print(f"{n:>2} I {'*' * (n // 2):<5} I {total: 03d}")
    print(f"합계 = {total}:)

    정답 중, 10 I ***** I 030 이 있는데
    코드 중 (n // 2):<5에 의해서 10 // 2 : <5에 적용하면 값이 5가 나오므로 출력이 안 되어야 하는 것이 아닌가요?


python java c 정보처리기사 정보처리산업기사

Câu trả lời 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. dhkdxo12님.

(n // 2):<5에서 : <5는 계산 결과를 출력하지 않는다는 의미가 아니라, 결과 문자열의 최소 너비를 5칸으로 맞춘다는 의미입니다.

해당 부분을 순서대로 보면 다음과 같습니다.

'*' * (n // 2)

n이 10일 때:

'*' * (10 // 2)
= '*' * 5
= '*****'

그다음 :<5가 적용됩니다.

'*****':<5

이미 문자열의 길이가 5이므로 그대로 *****가 출력됩니다. 만약 문자열 길이가 5보다 짧으면 오른쪽에 공백을 추가합니다.

예를 들어 n이 2라면:

'*' * (2 // 2)  # '*'

:<5에 의해 다음처럼 너비가 맞춰집니다.

*    

따라서 n = 10, total = 30일 때 출력은 다음과 같습니다.

10 I ***** I 030

여기서 030은 {total:03d}에 의해 정수 30을 세 자리로 맞추고, 빈자리를 0으로 채운 결과입니다.

관련 내용은 아래 질문도 참고해 주세요.

문자열 포맷팅에서 <5는 “값을 5개까지 자른다”가 아니라 “최소 너비를 5칸으로 확보하고 왼쪽 정렬한다”는 뜻입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

25-2 분기커버리지

0

14

0

25-2 이론 재탕

0

20

1

25-1 이론 재탕

0

19

1

서브넷 마스크

0

25

1

모의고사 1회 계산문제 2개 맞았는데

0

42

2

업캐스팅 문제 예시 4번 부모 호출

0

40

1

모의고사 자료 해설이 너무 불친절하네요.

0

83

2

부모의 생성자 출력 관련

0

38

2

24-3 이론파트 재탕문제

0

42

0

누락코드

0

39

1

다차원 배열 포인터 질문있습니다

0

53

3

24-2 이론 파트 재탕

1

50

1

모의고사 5회

0

44

1

12분 10초 func(values, 0, 1)을 넣을 때

0

41

1

모의고사 1회 4번 문제와 관련한 질문이 있습니다.

0

44

2

23- 3 재탕문제

0

63

1

23- 1 재탕문제

0

49

0

파이썬 추가 코드

0

59

1

배열 포인터 출력 표시

0

54

2

포인터 증감 또는 값 증감

0

55

2

배열 포인터 함수 관련

0

52

2

실기 이론 통합 요약본 버전

0

68

2

업캐스팅 3번 문제 예시

0

65

2

push pop 설명 되어있는 강의가 몇강인가요?

0

53

1