윤년은 역법을 실제 태양년에 맞추기 위해 여분의 하루 또는 월을 끼우는 해입니다. 현재 사용하는 그레고리력의 윤년 규칙은 다음과 같습니다.
year = 2000
if year % 4 != 0:
print('평년')
elif year % 100 != 0:
print('윤년')
elif year % 400 != 0:
print('평년')
else:
print('윤년')
윤년
year = 2000
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print('윤년')
else:
print('평년')
윤년
** 규칙
1에서 100까지 출력
3의 배수는 Fizz 출력
5의 배수는 Buzz 출력
3과 5의 공배수는 FizzBuzz 출력
for i in range(1, 101): # 1부터 100까지 100번 반복
if i % 3 == 0 and i % 5 == 0: # 3과 5의 공배수일 때
print('FizzBuzz', end=' ') # FizzBuzz 출력
elif i % 3 == 0: # 3의 배수일 때
print('Fizz', end=' ') # Fizz 출력
elif i % 5 == 0: # 5의 배수일 때
print('Buzz', end=' ') # Buzz 출력
else:
print(i, end=' ')
for i in range(1, 101):
print('Fizz' * (i % 3 == 0) + 'Buzz' * (i % 5 == 0) or i, end=' ')
** 규칙
1~100사이의 Random한 값 1개 맞추기
맞출때까지 계속 진행
몇번만에 맞췄는 지 출력
import random
# 1 ~ 9 com 숫자 맞추기
com = int(random.random() * 9) + 1
print('com =',com)
count = 0
while True:
count += 1 # count++ => X
user = int(input('user > '))
if com == user:
break;
print(f'{count}번만에 빙고')
11111
22222
33333
44444
55555
for i in range(1,6):
for j in range(5):
print(i, end='')
print()
11111 22222 33333 44444 55555
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
for i in range(1,26,5):
for j in range(i,i+5):
if j < 10:
print(j, end=' ')
else:
print(j, end=' ')
print()
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
for i in range(1,26):
if i < 10:
print(i, end=' ')
else:
print(i, end=' ')
if i % 5 == 0:
print()
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
*****
*****
*****
*****
*****
for i in range(5):
print('*' * 5)
***** ***** ***** ***** *****
for i in range(5):
for j in range(5):
print('*', end='')
print()
***** ***** ***** ***** *****
*
**
***
****
*****
for i in range(1,6):
print('*' * i)
* ** *** **** *****
for i in range(1,6):
for j in range(i):
print('*', end='')
print()
* ** *** **** *****
*****
****
***
**
*
for i in range(5,0,-1):
print('*' * i)
***** **** *** ** *
for i in range(5,0,-1):
for j in range(i):
print('*', end='')
print()
***** **** *** ** *
*
***
*****
*******
*********
end = 11
space = end // 2 # 5
for i in range(1,end,2):
print(space * ' ', '*'*i, sep='')
space -= 1
* *** ***** ******* *********
end = 11
for i in range(1, end, 2):
print(f'{"*" * i:^11}')
* *** ***** ******* *********
*********
*******
*****
***
*
start = 1
for i in range(9,0,-2):
space = start // 2
print(space*' ','*'*i, sep='')
start += 2
********* ******* ***** *** *
*
***
*****
*******
*********
***********
*********
*******
*****
***
*
end = 11
end2 = end
for i in range(1,end+1,2):
space = end // 2
print(space*' ','*'*i, sep='')
end -= 2
start = 3
for i in range(end2-2,0,-2):
space = start // 2
print(space*' ','*'*i, sep='')
start += 2
* *** ***** ******* ********* *********** ********* ******* ***** *** *
** 규칙
두 개의 주사위를 던졌을 때 눈의 합이 6이 되는 모든 경우의 수
n = 6
for i in range(1,7):
for j in range(1,7):
if i + j == n:
print(f'({i},{j})', end= '')
(1,5)(2,4)(3,3)(4,2)(5,1)
** 규칙
2x+4y=10 방정식의 해 x y,
범위 0<=x<=10, 0<=y<=10
for x in range(0,11):
for y in range(0,11):
if 2* x + 4* y == 10:
print(f'({x},{y})', end= '')
(1,2)(3,1)(5,0)
리스트에 Random 한 0 ~ 9의 숫자를 10개 넣어서 정렬하기(오름차순)
import random
sortNum = []
for i in range(10):
n = random.randint(1,45)
sortNum.append(n)
sortNum
[27, 28, 39, 31, 31, 30, 30, 40, 44, 11]
# 안쪽 1개 값 정렬
for i in range(len(sortNum)-1):
if sortNum[i] > sortNum[i+1]:
check = True
tmp = sortNum[i]
sortNum[i] = sortNum[i+1]
sortNum[i+1] = tmp
print(sortNum) # 변화 값 확인
[12, 36, 39, 15, 4, 4, 18, 12, 42, 40] [12, 36, 39, 15, 4, 4, 18, 12, 42, 40] [12, 36, 15, 39, 4, 4, 18, 12, 42, 40] [12, 36, 15, 4, 39, 4, 18, 12, 42, 40] [12, 36, 15, 4, 4, 39, 18, 12, 42, 40] [12, 36, 15, 4, 4, 18, 39, 12, 42, 40] [12, 36, 15, 4, 4, 18, 12, 39, 42, 40] [12, 36, 15, 4, 4, 18, 12, 39, 42, 40] [12, 36, 15, 4, 4, 18, 12, 39, 40, 42]
# 최종 - 최적화 추가
for j in range(len(sortNum)-1):
check = False
for i in range(len(sortNum)-1-j):
if sortNum[i] > sortNum[i+1]:
check = True
tmp = sortNum[i]
sortNum[i] = sortNum[i+1]
sortNum[i+1] = tmp
print(sortNum)
if not check:
break
[12, 15, 4, 4, 18, 12, 36, 39, 40, 42] [12, 4, 4, 15, 12, 18, 36, 39, 40, 42] [4, 4, 12, 12, 15, 18, 36, 39, 40, 42] [4, 4, 12, 12, 15, 18, 36, 39, 40, 42]
# 최종 - 최적화 추가
for j in range(len(sortNum)-1):
check = False
for i in range(len(sortNum)-1-j):
if sortNum[i] > sortNum[i+1]:
check = True
sortNum[i], sortNum[i+1] = sortNum[i+1],sortNum[i] # 바꿔서 저장
print(sortNum)
if not check:
break
[27, 28, 31, 31, 30, 30, 39, 40, 11, 44] [27, 28, 31, 30, 30, 31, 39, 11, 40, 44] [27, 28, 30, 30, 31, 31, 11, 39, 40, 44] [27, 28, 30, 30, 31, 11, 31, 39, 40, 44] [27, 28, 30, 30, 11, 31, 31, 39, 40, 44] [27, 28, 30, 11, 30, 31, 31, 39, 40, 44] [27, 28, 11, 30, 30, 31, 31, 39, 40, 44] [27, 11, 28, 30, 30, 31, 31, 39, 40, 44] [11, 27, 28, 30, 30, 31, 31, 39, 40, 44]
set 자료형을 사용해서 로또번호 6개 (1~45, 중복불가) 뽑기
1장 뽑기
5장 뽑기
import random
lottoOne = set()
while True:
lottoOne.add(random.randint(1,45))
if len(lottoOne) == 6:
break
lottoOne
{16, 25, 28, 30, 38, 41}
# set() 자료형 사용 5개 뽑기
import random
lottoOne = set()
lottoFive = list()
while True:
lottoOne.add(random.randint(1,45))
if len(lottoOne) == 6:
lottoFive.append(lottoOne)
lottoOne = set()
if len(lottoFive) == 5:
break
lottoFive
[{1, 2, 3, 22, 25, 32}, {6, 16, 25, 33, 40, 43}, {14, 15, 25, 32, 35, 37}, {5, 6, 9, 18, 23, 32}, {3, 19, 29, 33, 37, 40}]
list 자료형을 사용해서 로또번호 6개 (1~45, 중복불가) 뽑기
1장 뽑기
5장 뽑기
import random
lottoBox = []
luckyCount = 777
for i in range(45):
lottoBox.append(i+1)
for i in range(luckyCount):
shuffle = random.randint(0,44)
tmp = lottoBox[0]
lottoBox[0] = lottoBox[shuffle]
lottoBox[shuffle] = tmp
lottoOne = lottoBox[:6]
lottoOne
[36, 25, 4, 30, 44, 13]
import random
lottoBox = []
luckyCount = 777
for i in range(45):
lottoBox.append(i+1)
lottoFive = []
while True:
for i in range(luckyCount = 777):
shuffle = random.randint(0,44)
tmp = lottoBox[0]
lottoBox[0] = lottoBox[shuffle]
lottoBox[shuffle] = tmp
lottoOne = lottoBox[:6]
lottoOne.sort()
lottoFive.append(lottoOne)
if len(lottoFive) == 5:
break
lottoFive
[[6, 19, 20, 28, 33, 37], [15, 18, 25, 30, 38, 40], [2, 3, 15, 18, 24, 44], [10, 18, 25, 26, 32, 35], [8, 14, 24, 31, 33, 36]]