
- 차량2부제/5부제
이 개념을 몰라서 문제 푸는데 버벅임이 있었다.
if (pollution > 150) and (car == 1):
if (day % 2) == (carNum % 2):
print('차량 2부제 적용')
print('차량 2부제로 금일 운행 제한 대상 차량입니다.')
else:
print('금일 운행 가능합니다!!')
if (pollution > 150) and (car == 2):
if (day % 5) == (carNum % 5):
print('차량 5부제 적용')
print('차량 5부제로 금일 운행 제한 대상 차량입니다.')
else:
print('금일 운행 가능합니다!!')
전체 코드의 일부분인데 이렇게 해당 일과 나머지가 같지 않을 경우 운행이 가능하도록
조건을 만들어서 해결할 수 있다.
원래는 1000사이의 난수 맞추기인데,확인하기 쉽도록 수를 줄여서 해보았다.
import random
com = random.randint(1,10)
flag = True
cnt = 0
while flag:
user = int(input('1에서 10까지의 정수 입력: '))
cnt += 1
if user > com:
print('난수가 작다!')
elif user < com:
print('난수가 크다!')
else:
print('빙고!')
break
print(f'난수: {com},시도 횟수:{cnt}')
for i in range(1,10):
if i%2 == 0: print(f'{[i]}: 짝수!')
else: print(f'{[i]}: 홀수!')
for i in range(10,101):
if (i // 10) % 2 == 0: #십의자리 짝수인경우
if (i % 10) == 0:
print(f'{[i]}십의자리: 짝수!!, 일의자리: 0')
elif (i % 10) %2 == 0:
print(f'{[i]}십의자리: 짝수!!, 일의자리: 짝수!!')
else: print(f'{[i]}십의자리: 짝수!!, 일의자리: 홀수!!')
else: #십의자리 홀수인경우
if (i % 10) == 0:
print(f'{[i]}십의자리: 홀수!!, 일의자리: 0')
elif (i % 10) %2 == 0:
print(f'{[i]}십의자리: 홀수!!, 일의자리: 짝수!!')
else: print(f'{[i]}십의자리: 홀수!!, 일의자리: 홀수!!')
나의 경우는 10까지 따로 그 이후 숫자 따로 반복문을 실행시켰는데,
강사님의 경우 for 문 안에 if 조건문을 사용하여 나누는 방식을 택하여서
새로운 방법을 알게 되었다.

num = int(input('정수 입력: '))
factorial = 1
hap = 0
hap_even = 0
hap_odd = 0
for i in range(1,num+1):
hap +=i
if i % 2 == 0: hap_even += i
else: hap_odd +=i
while num >= 1:
factorial *= num
num -=1
print(f'합 결과 : {hap}')
print(f'홀수 합 결과 : {hap_odd}')
print(f'짝수 합 결과 : {hap_even}')
print(f'팩토리얼 결과 : {factorial:,}')
이때 팩토리얼을 구하는 부분에서 while을 사용하였는데 for문으로도 구현할 수 있다.
for i in range(1,num+1):
factorial *= i
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(f'최초 만나는 톱니수(최소공배수): {leastNum}')
print(f'gearA 회전수: {leastNum // gearATCnt}회전')
print(f'gearB 회전수: {leastNum // gearBTCnt}회전')
while True:
year = int(input('연도 입력: '))
if (year % 4 == 0 and year % 100 != 0) or \
(year % 400 == 0):
print(f'{year}년: 윤년!!')
else:
print(f'{year}년: 평년')
반복문과 조건문을 활용한 간단한 문제였다.
“이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.”