1

私はこのプログラムを作りました。これは、おつりを取って、1 ドルがいくらになるか、残りのおつりがいくらかを計算するものです。セットアップ方法では、たとえば 495 の釣り銭の額を取り、それを 4.95 ドルに換算します。.95 を切り捨てて 4 を残したいのですが、5 に切り上げずにこれを行うにはどうすればよいですか? ありがとう!

def main():
pennies = int(input("Enter pennies : "))
nickels = int(input("Enter nickels : "))
dimes = int(input("Enter dimes : "))
quarters = int(input("Enter quarters : "))

computeValue(pennies, nickels, dimes, quarters)

def computeValue(p,n,d,q):
print("You entered : ")
print("\tPennies  : " , p)
print("\tNickels  : " , n)
print("\tDimes    : " , d)
print("\tQuarters : " , q)

totalCents = p + n*5 + d*10 + q*25
totalDollars = totalCents / 100
totalDollarsTrunc = int(format(totalDollars, '.0f'))
totalPennies = totalCents - (totalDollarsTrunc * 100)

print("Amount of Change = ", totalDollarsTrunc, "dollars and ", totalPennies ,"cents.")

if totalCents < 100:
    print("Amount not = to $1")
elif totalCents == 100:
    print("You have exactly $1.")
elif totalCents >100:
    print("Amount not = to $1")
else:
    print("Error")
4

3 に答える 3

8

Python では、int()からの変換時に切り捨てられfloatます:

>>> int(4.95)
4

つまり、あなたは書き直すことができます

totalDollars = totalCents / 100
totalDollarsTrunc = int(format(totalDollars, '.0f'))
totalPennies = totalCents - (totalDollarsTrunc * 100)

関数を使用してdivmod

totalDollars, totalPennies = divmod(totalCents, 100)
于 2012-10-26T01:27:38.950 に答える
2

おそらく、必要な方向に丸めを使用しmath.ceilたりmath.floor、丸めたりしたいと思うでしょう。

于 2012-10-26T01:27:54.803 に答える
2

関数int()はまさにそれを行います

于 2012-10-26T01:28:11.810 に答える