无法找出如何分离美元和分角

1 投票
1 回答
779 浏览
提问于 2025-04-30 23:39

我收到一个程序,里面只有一个主函数,我需要添加其他函数才能让这个程序正常运行。现在我卡在一个地方,就是要把硬币的数量转换成美元的金额,只显示美元,不显示剩下的分币。
其实我想要的就是在开始写一个叫做 get_dollars 的函数时得到一些帮助。任何建议我都会非常感激。

  def main():
        pennies = get_input1("Enter pennies : ")
        nickels = get_input2("Enter nickels : ")
        dimes = get_input3("Enter dimes : ")
        quarters = get_input4("Enter quarters : ")

        print("You entered : ")
        print("\tPennies  : " , pennies)
        print("\tNickels  : " , nickels)
        print("\tDimes    : " , dimes)
        print("\tQuarters : " , quarters)


        total_value = get_total(pennies, nickels, dimes, quarters)
        dollars = get_dollars(pennies, nickels, dimes, quarters)
        left_over_cents = get_left_over_cents(pennies, nickels, dimes, quarters)

        print("Total = $", total_value, sep="")
        print("You have", dollars, "dollars and", left_over_cents, "cent(s)")

    def get_input1(pennies):
        pennies = input("Enter Pennies: ")
        if int(pennies) < 0:
            print('Error: money cannot be negative')
            pennies = int(input('Enter correct amount of pennies: '))
        return pennies
    def get_input2(nickels):
        nickels = input("Enter nickels: ")
        if int(nickels) < 0:
            print('Error: money cannot be negative')
            pennies = int(input('Enter correct amount of nickels: '))
        return nickels
    def get_input3(dimes):
        dimes = input("Enter dimes: ")
        if int(dimes) < 0:
            print('Error: money cannot be negative')
            pennies = int(input('Enter correct amount of dimes: '))
        return dimes
    def get_input4(quarters):
        quarters = input("Enter quarters: ")
        if int(quarters) < 0:
            print('Error: money cannot be negative')
            pennies = int(input('Enter correct amount of quarters: '))
        return quarters
    def get_total(pennies, nickels, dimes, quarters):

        amount_pennies = (int(pennies) * .01)
        amount_nickels = (int(nickels) * .05)
        amount_dimes = (int(dimes) * .10)
        amount_quarters = (int(quarters) * .25)
    def get_dollars(pennies, nickels, dimes, quarters):

    main()
暂无标签

1 个回答

0

这段代码的作用是把以美分为单位的金额加起来,然后除以100来得到以美元为单位的金额。

def get_dollars(pennies, nickels, dimes, quarters):
    return ( int(pennies) + 5*int(nickels) 
            + 10*int(dimes) + 25*int(quarters) )//100

因为//表示整数除法,所以剩下的美分部分会被舍弃。

举个例子:

>>> get_dollars('104', '44', '10', '4')
5

获取美元和美分

def get_dollars_and_cents(pennies, nickels, dimes, quarters):
    total = int(pennies) + 5*int(nickels) + 10*int(dimes) + 25*int(quarters)
    return total // 100, total % 100

例子:

>>> get_dollars_and_cents('104', '44', '10', '4')
(5, 24)

或者,

>>> dollars, cents = get_dollars_and_cents('104', '44', '10', '4')
>>> print('dollars=', dollars, 'cents=', cents)
dollars= 5 cents= 24

撰写回答