나는 사지에 나가서 OP가 거래에서 반환 된 돈 에서처럼 변화에 대해 이야기하고 있다고 가정합니다.
그렇다면 숙제 일 가능성이 있으므로 의사 코드 만 사용하십시오.
가장 간단한 방법은 다음과 같습니다. cost
을 거래 비용으로, tendered
을 양도 한 금액 (두 센트 모두)으로 가정하고 경제가 달러짜리 지폐, 동전 및 페니 만 가지고 있다고 가정합시다 (코드를 작게 만들기 위해).
change = tendered - cost
if change < 0:
print "Pay up some more cash, cheapskate!"
stop
dollars = 0
quarters = 0
cents = 0
while change >= 100:
dollars = dollars + 1
change = change - 100
while change >= 25:
quarters = quarters + 1
change = change - 25
while change >= 1:
cents = cents + 1
change = change - 1
print dollars " dollar(s), " quarters " quarter(s), and " cents " cent(s)."
이제 모듈러스 및 나누기 연산자를 사용하면 더 효율적으로 만들 수 있지만 독자의 연습 문제로 남겨 두겠습니다.
tendered cost change dollars quarters cents
-------- -------- -------- -------- -------- --------
1000 293
:
나의 제안은 연필과 (두 달러와-아흔셋 %의 구입을 위해 10 달러를 넘겨위한) 다음과 같은 열 종이의 비트와 함께 앉아서하는 것입니다
코드 머리글 코드 행에서을 사용하여 용지의 현재 값을 사용하고 변경 한 새 값을 적어 두십시오.
이렇게하면 이해를 돕는 데 도움이됩니다. 당신의 갱신에 대응
:
나는 1 달러를 가지고 뭔가를 구입하는 가게로 이동합니다. 사용자가 지출 한 금액을 입력 한 다음 변경 사항을 계산하고 화면에 인쇄하도록 사용자에게 요청해야합니다. 그런 다음 가장 적은 수의 쿼터, 십센트, 센트, 페니를 사용하여 화면에 인쇄해야합니다.내가 위에서 한 것과 상당히 유사
는 :
tendered = 100
input cost
cost = int (cost * 100)
change = tendered - cost
if change < 0:
print "Pay up some more cash, cheapskate!"
stop
print "Change is ", (format "$9.99", change/100)
quarters = 0, dimes = 0, nickels = 0, pennies = 0
while change >= 25:
quarters = quarters + 1
change = change - 25
while change >= 10:
dimes = dimes + 1
change = change - 10
while change >= 5:
nickels = nickels + 1
change = change - 5
while change >= 1:
pennies = pennies + 1
change = change - 1
print quarters, " quarters"
print dimes , " dimes"
print nickels , " quarters"
print pennies , " pennies"
추가 세부의 방대한 양을 주시기 바랍니다. – SLaks
당신이이 질문에 대답하기에 충분한 정보에 가깝다고 생각하는 이유는 무엇입니까? –
다른 사람이 혼란 스럽습니까 아니면 저입니까? – Mayank