for i in range(1, 101):
# 1의 자리 홀짝구분
if i <= 9:
if i % 2 == 0:
print('[{}]: 짝수!'.format(i))
else:
print('[{}]: 홀수!'.format(i))
# 10의 자리 홀짝구분
else:
num10 = i // 10 # 십의자리
num1 = i % 10
result10 = ''
if num10 % 2 == 0:
result10 = '짝수'
else:
result10 = '홀수'
result1 = '0'
if num1 != 0:
if num1 % 2 == 0:
result1 = '짝수'
else:
result1 = '홀수'
print('[{}] 십의자리: {}, 일의자리: {}'.format(i, result10, result1))
-->
[1]: 홀수!
[2]: 짝수!
[3]: 홀수!
[4]: 짝수!
[5]: 홀수!
[6]: 짝수!
[7]: 홀수!
[8]: 짝수!
[9]: 홀수!
[10] 십의자리: 홀수, 일의자리: 0
[11] 십의자리: 홀수, 일의자리: 홀수
[12] 십의자리: 홀수, 일의자리: 짝수
...
fNum = int(input('정수 입력: '))
addSum = 0
for i in range(1, fNum + 1):
addSum += i
addSumFormated = format(addSum, ',')
print('합 결과: {}'.format(addSumFormated))
oddSum = 0
for i in range(1, fNum + 1):
if i % 2 != 0:
oddSum += i
oddSumFormated = format(oddSum, ',')
print('홀수 합 결과: {}'.format(oddSumFormated))
evenSum = 0
for i in range(1, fNum + 1):
if i % 2 == 0:
evenSum += i
evenSumFormated = format(evenSum, ',')
print('짝수 합 결과: {}'.format(evenSumFormated))
factorialResult = 1 #곱하기니까 초기값 1로 해줌
for i in range(1, fNum + 1):
factorialResult *= i
factorialResultFormated = format(factorialResult, ',')
print('팩토리얼 결과: {}'.format(factorialResultFormated))
-->
정수 입력: 15
합 결과: 120
홀수 합 결과: 64
짝수 합 결과: 56
팩토리얼 결과: 1,307,674,368,000
for i in range(1, 6):
for j in range(i): #i가 3이 들어오면 3만큼 반복
print('*', end='')
print()
-->
*
**
***
****
*****
for i1 in range(1, 6):
for i2 in range(6 - i1 - 1): # 띄어쓰기 # 점점 작아짐
print(' ', end='')
for i3 in range(i1):
print('*', end='')
print()
-->
*
**
***
****
*****
for i in range(5, 0, -1): # 출력
for j in range(i):
print('*', end='')
print()
-->
*****
****
***
**
*
for i1 in range(5, 0, -1): # 띄어쓰기 + 출력
for i2 in range(5 - i1):
print(' ', end='')
for i3 in range(i1):
print('*', end='')
print()
-->
*****
****
***
**
*
for i in range(1, 10):
if i < 5:
for j in range(i):
print('*', end='')
else:
for j in range(10 - i):
print('*', end='')
print()
-->
*
**
***
****
*****
****
***
**
*
for i in range(1, 6):
for j in range(1, 6):
if j == i: #i는 행, j는 열. 행과 열이 같을 때만
print('*', end='')
else:
print(' ', end='')
print()
-->
*
*
*
*
*
버스 A, B(공배수로 계산)
오전 6시 첫차, 오후 23시 운행종료
버스 A: 15분 간격 운행
버스 B: 13분 간격 운행
버스 C
오전 6시 20분 첫차, 오후 22시 운행종료
버스 C: 8분 간격 운행
busA = 15
busB = 13
busC = 8
totalMin = 60 * 17 #총 17시간 운행
for i in range(totalMin + 1):
if i < 20 or i > (totalMin - 60): # 6시 20분 전
if i % busA == 0 and i % busB == 0:
print('busA와 busB가 동시 정차!', end='')
hour = 6 + i // 60 # 6시에 시작, i를 60으로 나눈 몫이 시간
min = i % 60
print('\t{}:{}'.format(hour, min))
else:
if i % busA == 0 and i % busB == 0:
print('busA와 busB가 동시 정차!', end='')
hour = 6 + i // 60 # 6시에 시작, i를 60으로 나눈 몫이 시간
min = i % 60
print('\t{}:{}'.format(hour, min))
elif i % busB == 0 and i % busC == 0:
print('busB와 busC가 동시 정차!', end='')
hour = 6 + i // 60 # 6시에 시작, i를 60으로 나눈 몫이 시간
min = i % 60
print('\t{}:{}'.format(hour, min))
elif i % busA == 0 and i % busC == 0:
print('busA와 busC가 동시 정차!', end='')
hour = 6 + i // 60 # 6시에 시작, i를 60으로 나눈 몫이 시간
min = i % 60
print('\t{}:{}'.format(hour, min))
gearATCnt = int(input('GearA 톱니 수 입력:'))
gearBTCnt = int(input('GearB 톱니 수 입력:'))
gearA = 0
gearB = 0
leastNum = 0
flag = True
while flag:
if gearA != 0:
if gearA != leastNum:
gearA += gearATCnt
else:
flag = False
else:
gearA += gearATCnt
if gearB != 0 and gearB % gearATCnt == 0: #최소공배수
leastNum = gearB
else:
gearB += gearBTCnt #아님 계속 돌아가야
print('최초 만나는 톱니수(최소공배수): {}톱니'.format(leastNum))
print('gearA 회전수: {}회전'.format(int(leastNum / gearATCnt)))
print('gearB 회전수: {}회전'.format(int(leastNum / gearBTCnt)))
-->
GearA 톱니 수 입력:8
GearB 톱니 수 입력:18
최초 만나는 톱니수(최소공배수): 72톱니
gearA 회전수: 9회전
gearB 회전수: 4회전
year = int(input('연도 입력: '))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print('{}년: 윤년'.format(year))
else:
print('{}년: 평년'.format(year))
for year in range(2021, (2021 + 101)):
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print('{}년: 윤년'.format(year))
else:
print('{}년: 평년'.format(year))