파이썬 코딩 질문

파이썬 코딩 질문

QA

파이썬 코딩 질문

본문

[code]print("<<의 숫자 추출 연산>>")
num=int(input("▣ 네자릿수 정수 =>"))
print()
print("==== 출력결과 ====")
print(f"천의 자리:{num//1000}")
num=num%1000
print(f"백의 자리:{num//100}")
num=num%100
print(f"십의 자리:{num//10}")
num=num%10
print(f"일의 자리:{num//1}") [code/]

밑에 사진 처럼 하고싶은데 마지막 줄을 모르겠어서... 도움좀 주세용ㅜㅜ

2001114050_1619265463.458.png

이 질문에 댓글 쓰기 :

답변 1

안녕하세요?

 

이미 거의 다 맞게 작성하신 것 같은데, 이를 조금만 더 보완하면 다음과 같습니다 ^^

 

각 자릿수를 4개의 변수에 넣은 후에 덧셈을 하는 방법이에요!

 


print('<<의 숫자 추출 연산>>\n')
num = int(input('▣ 네자릿수 정수 => '))
print('\n==== 출력결과 ====')
 
a = num // 1000
print(f'천의 자리:{a}')
num %= 1000
b = num // 100
print(f'백의 자리:{b}')
num %= 100
c = num // 10
print(f'십의 자리:{c}')
d = num % 10
print(f'일의 자리:{d}')
 
print(f'{a} + {b} + {c} + {d} = {a + b + c + d}') # 각 자릿수를 더합니다.

 

 

참고로 문자열이 정수와 달리 iterable한 점을 활용하여

 

자릿수마다 변수를 두지 않고 다음과 같은 방법으로 작성할 수 있어요 ^-^

 


print('<<의 숫자 추출 연산>>\n')
num = input('▣ 네자릿수 정수 => ')
print('\n==== 출력결과 ====')
 
num_list = []
for i in num:
    num_list.append(i)
digit_list = ['천', '백', '십', '일']
 
for i, j in zip(digit_list, num_list):
    print(f'{i}의 자리: {j}')
 
for cnt, i in enumerate(num_list):
    if cnt != 3:
        print(f'{i} + ', end = '')
    else:
        print(f'{i} = ', end = '')
print(sum([int(x) for x in num_list]))

 

그럼 즐거운 주말 되세요~! ^^

답변을 작성하시기 전에 로그인 해주세요.
전체 109
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT