Python 기초 문제풀이

조천룡·2023년 5월 5일

python

목록 보기
2/13
post-thumbnail

구구단

*구구단 전체를 출력하자

코드

for i in range(1,10):
    for j in range(2,10):
        result = j * i
        print('{} * {} = {}\t'.format(j,i,result),end='')
    print()

거스름돈

  • 상품 가격과 지불 금액을 입력하면 거스름 돈을 계산하는 프로그램을 만들어보자.단, 거스름 돈은 지폐와 동전의 개수를 최소로 하고, 1원단위 절사한다.
  • 지폐 : 50,000원,5,000원,1,000원   동전 : 500원,100원,10원

코드

money50000 = 50000; money10000 = 10000; money5000 = 5000; money1000 = 1000
money500 = 500; money100 = 100; money10 = 10

money50000Cnt = 0; money10000Cnt = 0; money5000Cnt = 0; money1000Cnt = 0
money500Cnt = 0; money100Cnt = 0; money10Cnt = 0

productPrice = int(input('상품 가격 입력 :'))
payPrice = int(input('지불 금액 :'))

if payPrice > productPrice:
    changemoney = payPrice - productPrice
    changemoney = (changemoney // 10 ) * 10
    print('거스름 돈 :{}(원 단위 절사).'.format(changemoney))

if changemoney > money50000:
    money50000Cnt = changemoney // money50000
    changemoney %= money50000

if changemoney > money10000:
    money10000Cnt = changemoney // money10000
    changemoney %= money10000

if changemoney > money5000:
    money5000Cnt = changemoney // money5000
    changemoney %= money5000

if changemoney > money1000:
    money1000Cnt = changemoney // money1000
    changemoney %= money1000

if changemoney > money500:
    money500Cnt = changemoney // money500
    changemoney %= money500

if changemoney > money100:
    money100Cnt = changemoney // money100
    changemoney %= money100

if changemoney > money10:
    money10Cnt = changemoney // money10
    changemoney %= money10

print('-' * 30)
print('50,000 {}장'.format(money50000Cnt))
print('10,000 {}장'.format(money10000Cnt))
print('5,000 {}장'.format(money5000Cnt))
print('1,000 {}장'.format(money1000Cnt))
print('500 {}개'.format(money500Cnt))
print('100 {}개'.format(money100Cnt))
print('10 {}개'.format(money10Cnt))
print('-' * 30)


차량 운행제한 프로그램

  • 미세먼지 측정수치가 150이하면 차량 5부제 실시
  • 미세먼지 측정수치가 150을 초과하면 차량 2부제 실시
  • 차량 2부제를 실시하더라도 영업용 차량은 5부제 실시
  • 미세먼지수치,차량종류,차량번호를 입력하면 운행 가능여부 출력

코드

import datetime

today = datetime.datetime.today()
day = today.day

limitMicrodustNum = 150


microdustNum = int(input('미세먼지 수치 입력 : '))
carSelectNum = int(input('차량 종류 선택 : 1.승용차   2.영업용차  '))
carNum = int(input('차량 번호 입력 : '))


print('-' * 70)
print(today)
print('-' * 70)

if microdustNum > limitMicrodustNum and carSelectNum == 1:
   if (day % 2) == (carNum % 2):
       print('차량 2부제 적용')
       print('차량 2부제로 금일 운행 제한 대상 차량입니다.')
   else:
       print('금일 운행 가능합니다.')
elif microdustNum > limitMicrodustNum and carSelectNum == 2:
    if (day % 5) == (carNum % 5):
        print('차량 5부제 적용')
        print('차량 5부제로 금일 운행 제한 대상 차량입니다.')
    else:
        print('금일 운행 가능합니다.')

elif microdustNum <= limitMicrodustNum:
    if (day % 5) == (carNum % 5):
        print('차량 5부제 적용')
        print('차량 5부제로 금일 운행 제한 대상 차량입니다.')
    else:
        print('금일 운행 가능합니다.')
print('-' * 70)

윤년계산기

  • 연도가 4로 나누어 떨어지고 100으로 나누어 떨어지지 않으면 윤년이다
  • 또는 연도가 400으로 나누어 떨어지면 윤년이다.
  • 현재 시점으로부터 앞으로 100년안에 평년과 윤년인 해 출력

코드

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(2023,(2023+101)):
    if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
        print('{}년: 윤년 !'.format(year))
    else:
        print('{}년: 평년!'.format(year))

최소공배수

  • 톱니가 각각 n1개와 n2개의 톱니바퀴가 서로 맞물려 회전할 떄, 회전을 시작한 후 처음 맞물린 톱니가 최초로 다시 만나게 될 떄까지의 수와 각각의 바퀴 회전수를 출력해보자.(단, n2는 n1보다 크다)

코드

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)))
profile
10√2 Data

0개의 댓글