1. 한 줄 씩 쪼개서 출력하기
a = list(range(1,11))
for i in range(a) : # 일단 a에 저장된 값 하나씩 다 돌면서 보기
for j in str(a[i]) : a의 [i]번 값을 문자(str)로 출력
print(j)
''' 결과
1
2
3
4
5
6
7
9
1 # 10 이 1과 0으로 나눠서 출력됨
0
'''
2. 리스트 그대로 출력해보기
a = list(range(1,11))
b = str(a)
print(b[0])
''' 결과
# 1이 나올 거라고 생각했는데
[
# a 리스트의 대괄호가 출력됨
'''
3. 입력 받은 숫자를 문자로 쪼개서 더하기 (예시 : 75 = 7 + 5 = 12로 출력하기)
def 함수로 만들어서 푼 문제 링크 백준_4673_셀프넘버
[백준/python3] 4673_셀프 넘버
''' # d(75) = 75 + 7 + 5 = 87 # 이렇게 하려면 int로 받고 str로 쓰기 a = int(input()) b = str(a) print(b[0]) # 입력 : 867 # 출력 : 8 ''' # d(75) = 75 + 7 + 5 = 87 # 이걸 함수로 만들어야 함 def d(n)..
meaningood.tistory.com
a = 75
b = map(int, str(a)) # 75를 7과 5로 쪼개고, int로 바꿔서 연산해 줌
print(sum(b))
''' 결과
12
'''
4. 꼭 map으로 묶어야 하나? 리스트로 묶으면 안 되나? 해서 해 본 코드
a = 75
b = [int(str(a))]
print(sum(b))
''' 결과
75
'''
5. 비슷한 것 같은데 이상하게 에러가 뜨는 코드
a = 75
b = list(int(str(a))) # 리스트를 []로 만들지 않고 list()로 만들면 에러가 뜸
print(sum(b))
'''결과
TypeError : 'int' object is not iterable
'''
a = 75
b = int(str(a)) # 그래서 아예 list()를 빼고 만들었더니 또 에러가 뜸
print(sum(b))
'''결과
TypeError : 'int' object is not iterable
'''
--> 4, 5번에서 [int(str(a)]는 되는데 list(int(str(a)))는 왜 안 되는 건지,
또 그냥 int(str(a))는 왜 안 되는 건지 이유를 아시는 분들은 댓글 부탁드립니다!
'아카이브 > python' 카테고리의 다른 글
[python 문법] 리스트 쪼개기 및 for문을 이용한 combinations (0) | 2022.01.16 |
---|---|
[Python 문법] Python 기초 문법 (0) | 2022.01.15 |
[python문법] input() vs sys.stdin (0) | 2022.01.13 |
[python문법] def 함수 값 여러 개 return하기 (0) | 2022.01.13 |