fork download
  1. # ====================== 配置区 ======================
  2. total = 48 # 总和不变
  3. price = 62.5 # 单价不变
  4. split_count = 3 # 分成几份(你要2份就写2)
  5. # ====================================================
  6.  
  7. import random
  8.  
  9. nums = []
  10. remaining = total
  11.  
  12. # 严格随机拆分,每个数都满足 数值×单价 ≤1000
  13. for i in range(split_count - 1):
  14. # 单个数值最大只能这么大(保证不超1000)
  15. max_num = min(1000 / price, remaining - 0.01)
  16. # 随机生成,极度不平衡
  17. val = round(random.uniform(0.01, max_num), 2)
  18. nums.append(val)
  19. remaining -= val
  20.  
  21. # 最后一个数自动补齐
  22. nums.append(round(remaining, 2))
  23.  
  24. # 输出结果
  25. print("✅ 正确拆分结果(每个×单价都≤1000):")
  26. for num in nums:
  27. print(f"{num:.2f} (×单价 = {num * price:.2f})")
  28.  
  29. print(f"\n总金额:{sum(nums):.2f}")
Success #stdin #stdout 0.03s 11424KB
stdin
Standard input is empty
stdout
✅ 正确拆分结果(每个×单价都≤1000):
12.66  (×单价 = 791.25)
4.58  (×单价 = 286.25)
30.76  (×单价 = 1922.50)

总金额:48.00