根据您的要求,下面是一个简单的 Python 程序来实现这个功能。该程序会不断从用户那里接收购物金额,并根据您提供的折扣规则计算出应收款额。如果输入的是负数,则会提示错误并要求重新输入。 ```python def calculate_discounted_price(price): if price >= 1000: return price * 0.85 elif price >= 500: return price * 0.90 elif price >= 200: return price * 0.95 elif price >= 100: return price * 0.97 else: return price def main(): while True: try: # 输入购物金额 amount = float(input("请输入购物金额(输入负数结束程序): ")) if amount < 0: print("程序已结束。") break elif amount < 100: print(f"购物金额不足100元,无优惠,应收款额为:{amount:.2f}元") else: discounted_price = calculate_discounted_price(amount) print(f"根据您的购物金额,应收款额为:{discounted_price:.2f}元") except ValueError: print("输入有误,请输入数字!") if __name__ == "__main__": main() ``` 程序说明: 1. 函数 `calculate_discounted_price`:此函数接收一个购物金额作为参数,并返回根据折扣规则计算后的实际收款金额。 2. 主函数 `main`:在主函数中,使用一个无限循环来持续接收用户的输入。每次接收到输入后,首先检查是否为负数,如果是则结束程序;如果不是负数,则调用 `calculate_discounted_price` 函数计算应收款额并输出。如果输入不是有效的数字,会捕获 `ValueError` 异常并提示用户重新输入。 使用方法: - 运行程序后,按提示输入购物金额。 - 如果输入的是负数,程序将结束。 - 如果输入的是非数字字符,程序会提示错误并要求重新输入。 - 根据输入的金额,程序会显示相应的应收款额。 希望这个程序能满足您的需求!如果有任何问题或需要进一步的帮助,请随时告诉我。 [2024-10-24 17:15:28 | AI写代码神器 | 504点数解答]