count = 1
total = 0 //1. 초기식
while count <= 100: //2. 조건식, loop 변수
total = total + count //3. 반복처리할 내용
count = count + 1 //4. 증감식
print("1부터 100까지의 합은 :", total)
print("The End...")
else활용(결과동일)
count = 1
total = 0
while count <= 100:
total = total + count
count = count + 1
else:
print("1부터 100까지의 합은 :", total)
print("The End...")
break를 쓰면 else는 안 나오고 while문을 벗어나 print로 간다.
이 경우는 else문을 못 씀
if 조건만 만족하면 바로 the End 출력
else가 정렬이 안 맞춰졌기 때문
dct는 비순차 자료형
비순차 자료형은 python Interpreter가 내부적 규칙에 의해 순서를 정함
비순차 자료형이라 순서를 정확히 알 수 없다.
3은 누적이 되지 않음
continue가 range로 보내기 때문
3은 없음
item = 3일 때 바로 range로 가서
item = 3일때
break라서 for문을 아예 나가버림
이중 for문 구구단
<이중 for 문 옆으로 나열>
먼저 단이 출력
그 다음 한 행씩 출력
num1 = int(input("첫번째 숫자를 입력하시오 => "))
num2 = int(input("두번째 숫자를 입력하시오 => "))
if num1 > num2:
min_num = num2
max_num = num1
else:
min_num = num1
max_num = num2
for dan in range(min_num , max_num +1):
print(" ** %d단 ** " % dan, end=" ") # end=" " : 옆으로 나열
print() # 줄바꿈작업
for i in range(1,10):
for dan in range(min_num, max_num+1):
print(" %d * %d = 2%d " % (dan, i, dan*i), end=" ")
print()
min(), max() = 내장함수
bulitin보다
우선 순위 : L > G > M
내장함수로 min, max가 있으니
헷갈리지 않게 min_num, max_num 라고 적어준 것!
증감값은 생략가능
1부터 10까지가 아닌 1~9까지 나옴(최종값은 안 나옴)
9번 반복됨
반복수행의 횟수를 range 함수를 통해서 규정할 수 있다.
문제 :
코드 작성해보기
이건 힌트
답:
num1 = int(input("첫번째 숫자를 입력하시오 => "))
num2 = int(input("두번째 숫자를 입력하시오 => "))
# 임의의 숫자 2개 입력
if num1 > num2:
min = num2
max = num1
else:
min = num1
max = num2
# 대소 구분 min에는 작은값, max에는 큰값 집어넣음
print()
cnt = 0
if min == 1:
min = 2
# 1은 제외 값이기 때문에 1은 무조건 2로 바꾸기
for i in range(min, max+1):
# if i == 1:
# continue # i가 1이면 바로 스킵하는 거, 하지만 매번 for문을 돌릴 때마다 수행시켜야함
for j in range(2, i): # j는 2~9까지
if i % j == 0: #소수가 아니면 for문 빠져나옴
break
else: # i가 소수인 경우 수행
print("%5d " % (i), end=" ")
cnt +=1 # 소수의 갯수 카운트
if cnt % 10 == 0: # 소수의 갯수가 10의 배수이면 줄바꿈 수행
print()
if cnt % 10 != 0:
print()
print("총 소수의 개수 = %d", cnt)