2402_83181225 2024-03-13 09:51 采纳率: 92.3%
浏览 85
已结题

实例2:模拟超市收银抹零行为

在商店买东西时,可能会遇到这样的情况:挑选完商品进行结算时,商品的总价可能会带有0.1元或0.2元的零头,商店老板在收取现金时经常会将这些零头抹去。
本实例要求编写程序,模拟实现超市收银抹零行为。

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2024-03-13 09:51
    关注

    2402_83181225 上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    解决方案:

    1. 提示用户输入商品的总价。
    2. 将总价取整,得到整数部分。
    3. 判断如果总价与整数部分相等,说明没有零头,不需要抹零,直接输出总价即可。
    4. 如果总价与整数部分不等,说明有零头,需要进行抹零操作。
    5. 判断零头是否在0.1元或0.2元的范围内,如果是,则将总价减去零头,输出抹零后的总价。
    6. 如果不是,则将总价加上(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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月21日
  • 已采纳回答 3月13日
  • 创建了问题 3月13日