티스토리 뷰
반복문에서의 무한반복 오류
N = int(input())
num = N
cycle = 0
while True:
a = N % 10
b = N // 10
c = (a + b) % 10
num = (a * 10) + c
cycle= cycle+1
if num == N:
break
print(cycle)
이런식으로 코드를 짜놓고 오류가 나서 계속 하다가 도저히 되지 않아서 튜터님께 방법을 물어보고 수학문제처럼 답을 보고 풀어보는 게 좋다는 답변을 얻고 답을 보고 풀어보았는데도 되지 않아서 다시 자세히 보았더니,
문제는 변수에 있었다. 루프에서 다시 돌았을때 a와 b값이 업데이트가 되야 하는데 입력받은 인풋 값이 다시 나오기 때문에 같은 수가 반복 되는 것이었다.
이것을 모르고 무려 5시간동안 머리를 싸맸으나 도저히 알수가 없어서 답지를 보았습니다. 알고보니 참으로 간단한 문제였어서 이걸 놓치다니 하는 생각이 들었습니다.
하지만 구글 검색어에 자동완성으로 나올 정도로 나와 같이 실수하는 사람이 있다는 사실에 다행히 안도의 한숨을 쉬었습니다.
N = int(input())
num = N
cycle = 0
while True:
a = num % 10
b = num // 10
c = (a + b) % 10
num = (a * 10) + c
cycle= cycle+1
if num == N:
break
print(cycle)
참고 블로그 :
준세 단칸방 - [BaekJoon/Python] : 백준 1110번 : 더하기 사이클
Python 덧셈 뺄셈
a = a + 1
a += 1
a = a - 1
a -=1
다시 한번 기록
Python 내장 함수
divmod : 몫과 나머지를 구하는 파이썬 내장함수
a = 30
몫 b = a // 7
b = 4
나머지 c = a * 7
c = 2
몫과 나머지를 동시에
d = divmod(30, 7)
튜플 형태로 출력
(4, 2)
사용시에는 튜플 값을 각기 호출
d[0] = 4
Python 반복문
리스트와 반복문의 사용인데 간단한듯 하면서 응용이 안되서 다시 한번 체크
a = [15, 20, 50, 25, 100]
반복문으로 리스트의 요소를 출력하는 것은
for 변수 in 리스트:
반복할 코드
여기에서 응용되는 것은
내가 리스트를 변수로 받을 때 반복문의 범위를 이 리스트로 정할 수 있다.
예를 들자면
nums = list(map(int, input().split()))
for i in nums[1:]:
이런식으로 설정 하는 것이다.
20220902_TIL 에서 반복문의 세계에 대해 감탄했는데 반복문은 끝이 없다.
Array 와 List
- 지금은 정확히 이해가 되지는 않지만 지금까지 아는 것을 기록
- 파이썬에서는 리스트가 배열이다.
- 자바스크립트에서는 배열에 리스트의 기능이 포함되어있다.
- 빈 값이 있으면 배열이고 없으면 리스트이다. (afaik)
참고 블로그 :
초보몽키의 개발공부로그 - 배열(Array)과 리스트(List)
'What I Learned' 카테고리의 다른 글
TIL_20220908_git 개요 (0) | 2022.09.08 |
---|---|
TIL_20220907_파이썬 함수 (0) | 2022.09.07 |
TIL_20220905_컴파일, 인터프리터 (0) | 2022.09.05 |
WIL_220829to220902_내일배움캠프1주차 (2) | 2022.09.04 |
TIL_20220902_반복문, 백준 3003번 (0) | 2022.09.02 |
- Total
- Today
- Yesterday
- 클래스
- 스파르타코딩클럽
- 코드컨벤션
- github
- HTML
- 항해플러스ai
- 스파르타내일배움캠프
- 함수
- 파이썬
- 예외처리
- 자료구조
- 장고
- 항해플러스후기
- 컴퓨터구조
- API
- GIT
- 파이썬 함수 return
- HTTP
- css
- 반복문
- 파이썬나누기
- wil
- 항해솔직후기
- css선택자
- dtl
- Til
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |