320x100
'''
오늘 알게된 귀중한 깨달음
1. if 문
if문을 쓸때, 내가 표현하고자 하는것이 커버하는 범위가 40%든 몇%든 조건문에 있어서
100%를 채우려고 안해도 된다.
원리적으로 해당되면 출력, 해당안되면 그냥 넘어가는 식으로 되도 괜찮다.
'''
''' 실패코드 1. 정수 하나를 입력받아 5의 배수인지 조사하여 그 결과를 출력 하라. 실패
list_of_number = [1,2,3,4,5,6,7,78,8,9,90,10]
if list_of_number % 5 == 0:
return list_of_number
'''
''' 실패코드 2. while 문 테스트 중 for 문으로 전환해서 해보려고 했는데 작동이 안된다. 실패
student = 0
for i in student <=5:
print(student, "번 학생의 성적을 처리한다.")
'''
''' 실패코드3. 151부터 300까지의 숫자중, 홀수만 합쳐줘라. 실패.
num = 151
sum = 0
while num <=300:
if not num%2 ==0: #해설1. 해설은 이 부분은 필요없고
sum += num
num += 1 #해설2. 이부분이 + 1이 아닌 2로 해줬다.
print(sum)
물론 해설에 틀린말이 없고 저 방법도 사실 생각 가능한 방법이긴 하지만
나는 내가 풀려는 방식을 고수하고 싶다.
왜냐하면 무작위적인 숫자가 주어지는 상황에서는 +2가 아니라
내가 한 것처럼 "홀수가 아닌"이라는 필터링을 걸어줘야하기 때문이다.
'''
'''
2. for 문
가만 보니깐 for 문의 "보통 많이 쓰이는"짝궁은 range 인듯 하다
for i in range(): 이런식으로
'''
# 위의 151~300에 해당하는 것을 for문으로 풀어보자
'''
sum = 0
for i in range(151,301,2):
sum += i
print(sum)
# 3번 정도 시도후에 방법을 찾았다. 조금 번거롭더라도
# sum = 0 이라고 해서 숫자가 담길 항아리 정도는 남겨놔야지 수식이 편해지는 것 같다.
'''
'''
3. while문과 for문의 쓰임새
둘다 사용이 가능하다. 반복문에 있어서는
하지만 큰 특징적으로는
for문 = 반복 범위가 명확한 경우
while문 = 반복이 가변적이고 붎규칙 할 경우에
어울린다.
'''
''' 실패 4. 9번은 -가 출력되고 10번째에 +가 출력되는걸 50번까지 이어붙여 출력 시도 실패
total =0
for a in range(50):
total += str("-")
print(total)
'''
'''
for x in range(50):
if (x %10 == 0):
print('+',end = '') # end = ''가 무슨 역할일까
else: # 여러번 시도해본 결과 끝난 것을 일렬로 이어붙이는 기능 같다.
print('-', end = '')
# +---------+---------+---------+---------+---------
# 결과값이 다르게 나오긴 하지만 어쨌든 비스무리하게라도 되는 해설
'''
''' 정상결과값의 해설
for x in range(5):
print("-"*9, end="")
print("+",end="")
이게 가장 정상적인 해설 같다.
더욱이 if문은 필요하지만 if문의 단점은 첫 문단에 들어갈때에 조건을 설정해야한다는 것이다.
본제의 경우 뭐 생각하려면 생각이 가능하겠지만, 심플하게는 10의 위치에 해당되는것만
조건화 하는게 간단하기 때문에 정상적인 해설로써 이해해도 좋을것 같다.
'''
'''
x = 1
while x < 51:
if x%10: # 이거는 구조가 굉장히 독특하다 여태까지 보지 못했다. ==0도 아닌 내비두는 거라니
print("-", end = "") # 일반적으로는 여기로 값이 오지만
else:
print("+",end="") # 10으로 나누어떨어지는 점에는 여기로 온다.
x +=1
'''
'''
for i in range(1,51):
if i%10: # for문에서 0은 마치 False와도 같은 기능이라 else로 간다.
print("-",end="")
else:
print("+",end="") # 사실상 위의 while문도 0에 해당하는게 False와 같았다.
# 위의 수식이 다른 이유는 1부터 시작했기 때문이다.
# 근데 자꾸 결과값이 내가 원하는 ------+형태가 아닌 -+++++형태로 나온다.
# 좀더 연구해봐야겠다.
# 시작점이 0이라서 문제가 생긴다는것에 착안하여 시작을 1로 했고, 끝 숫자를 한개 업했다.
# 따라서 내가 원하는 결과인 ------+ 구조가 나왔다.
'''
'''
# 5로 나뉜값이 +로 되는 for문 버전 성공
for i in range(1,50):
if i % 5 ==0:
print("+",end="")
else:
print("-",end="")
'''
'''
# 5로 나뉜값이 +가 되는 while문 버전 성공
i = 1
while i <51:
if i % 5 == 0:
print("+",end="")
else:
print("-",end="")
i +=1
'''
'''
score = [92,86,68,120,56]
for s in score:
if (s < 0 or s >100): # 첫번째 92는 False # 86도 False
break # break는 True가 와야지 작동 되는건가?
print(s) # 연속해서 False가 온다.
print("성적처리 끝")
# Thonny로 점검해본 결과 아주 놀라웠다.
# break는 True가 와야지 작동하더라.
# 그때까지는 print를 오가다가 4번째 숫자인 120이 오는 순간 break로 넘어갔다.
# 따라서 그 밑에 있는 print(s)는 작동되지 않고
# 성적 처리 끝. 으로 끝났다.
# 5번째 자리에 있던 56은 아예 작동도 하지 않았다. 4번째 자리의 120에서 break가 되서.
'''
'''
score = [92,86,68,-1,56]
for s in score:
if s == -1:
continue # 이것도 True로 꽃힐때까지는 넘어간다.그리고 True가 되면 일종의 "통과"효과가 있다.
print(s) # False의 영역
print("성적 처리 끝")
'''
오늘은 실패가 참 많았다.
그럼에도 기분이 좋은 이유는, 왜 실패되었는지 모두다 꿰뚫었고 최소한에 그건 다 소화했기 때문이다.
공부라는것이 이렇게 이루어 지는게 너무 좋은것같다.
맞지도 않는 난이도를 붙들고 있으면서 어차피 이해도 안되는거 붙들고 있느니
이게 훨씬 나에겐 맞는것같다.
300x250
'개발일지 > Python' 카테고리의 다른 글
2022.01.31 파이썬 정복 7장 함수 (0) | 2022.01.31 |
---|---|
2022.01.27 6장 반복문 (while, for문) (0) | 2022.01.27 |
2022.01.25 챕터 3. 타입 (0) | 2022.01.25 |
2022.01.23 패스트캠퍼스 코린이 과정, 리스트 기능 (0) | 2022.01.23 |
2022.01.21 Day7-2 유데미 행맨게임 라스트 (0) | 2022.01.22 |