在商店买东西时,可能会遇到这样的情况:挑选完商品进行结算时,商品的总价可能会带有0.1元或0.2元的零头,商店老板在收取现金时经常会将这些零头抹去。
本实例要求编写程序,模拟实现超市收银抹零行为。
实例2:模拟超市收银抹零行为
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
檀越@新空间 2024-03-13 09:51关注2402_83181225 上午好☀️☀️☀️️
本答案参考ChatGPT-3.5解决方案:
- 提示用户输入商品的总价。
- 将总价取整,得到整数部分。
- 判断如果总价与整数部分相等,说明没有零头,不需要抹零,直接输出总价即可。
- 如果总价与整数部分不等,说明有零头,需要进行抹零操作。
- 判断零头是否在0.1元或0.2元的范围内,如果是,则将总价减去零头,输出抹零后的总价。
- 如果不是,则将总价加上(0.1 - 零头)或(0.2 - 零头),再输出抹零后的总价。
以下是修改后的示例代码:
total_price = float(input("请输入商品的总价:")) # 步骤1,提供用户输入总价 int_price = int(total_price) # 步骤2,取整数部分 if total_price == int_price: # 步骤3,判断是否有零头 print("总价:", total_price) else: # 步骤4,有零头时进行抹零操作 remainder = total_price - int_price # 计算零头部分 if 0.1 >= remainder >= 0.0 or 0.2 >= remainder > 0.1: # 步骤5,判断零头是否在0.1或0.2的范围内 new_price = total_price - remainder # 抹零后的总价 else: # 步骤6,不在0.1或0.2范围内,需要加上差额 difference = 0.2 - remainder if remainder <= 0.1 else 0.1 - remainder new_price = total_price + difference # 抹零后的总价 print("抹零后的总价:", new_price) # 输出抹零后的总价使用示例:
请输入商品的总价:18.9 抹零后的总价:18.8本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报