《Python语言程序设计》第4章第7题,这次利用之前学过的第7章的内容使用对象和类,来修改这道题
original codeamount = eval(input('Enter an amount, for example,11.56: '))#偷懒直接做了输入
amount = 11.56remain_in_amount = int(amount * 100)number_of_one_dollars = remain_in_amount // 100
remain_in_amount = remain_in_amount % 100number_of_quarters = remain_in_amount // 25
remain_in_amount = remain_in_amount % 25number_of_dimes = remain_in_amount // 10
remain_in_amount = remain_in_amount % 10number_of_nickels = remain_in_amount // 5
remain_in_amount = remain_in_amount % 5number_of_pennies = remain_in_amountif amount >1:amount_text= 'consists'
elif amount==1:amount_text= 'consist'print('Your amount',amount,'consists of\n','\t', number_of_one_dollars,'dollars\n','\t',number_of_quarters,'quarters\n','\t',number_of_dimes,'dimes\n','\t',number_of_nickels,'nickels\n','\t',number_of_pennies,'pennies')
原始的输出结果
我们使用第七章对象和类的功能
请用户输入钱数
将输入的整数或者浮点数进行整数化
class amount_com:def __init__(self, amount):self.amount = amountdef get_int_amount(self):text_nickels = ''text_dollars = ''text_quarters = ''text_dimes = ''text_pennies = ''remain_in_amount = int(self.amount * 100)number_of_one_dollars = remain_in_amount // 100remain_in_amount = remain_in_amount % 100number_of_quarters = remain_in_amount // 25remain_in_amount = remain_in_amount % 25number_of_dimes = remain_in_amount // 10remain_in_amount = remain_in_amount % 10number_of_nickels = remain_in_amount // 5remain_in_amount = remain_in_amount % 5number_of_pennies = remain_in_amountif number_of_one_dollars == 1:text_dollars = 'dollar'elif number_of_one_dollars > 1:text_dollars = 'dollars'if number_of_quarters == 1:text_quarters = 'quarter'elif number_of_quarters > 1:text_quarters = 'quarters'if number_of_nickels == 1:text_nickels = 'nickel'elif number_of_nickels > 1:text_nickels = 'nickels'if number_of_dimes == 1:text_dimes = 'dime'elif number_of_dimes > 1:text_dimes = 'dimes'if number_of_pennies == 1:text_pennies = 'pennie'elif number_of_pennies > 1:text_pennies = 'pennies'print(f"""Your amount {self.amount} consists of:{number_of_one_dollars}, {text_dollars}{number_of_quarters}, {text_quarters}{number_of_dimes}, {text_dimes}{number_of_nickels}, {text_nickels}{number_of_pennies}, {text_pennies}""")num = 11.56
a = amount_com(num)
a.get_int_amount()
运行效果。