fork download
  1. # ====================== 配置区 ======================
  2. total = 269.1
  3. price = 59
  4. # ====================================================
  5.  
  6. import random
  7.  
  8. max_single = 1000 / price
  9. count = int(total / max_single) + 1
  10. nums = []
  11. used = set()
  12. base = total / count
  13.  
  14. # 先生成一组数字
  15. while len(nums) < count:
  16. val = round(base + random.uniform(-0.1, 0.1), 2)
  17. if 0 < val <= max_single and val not in used:
  18. used.add(val)
  19. nums.append(val)
  20.  
  21. # 【暴力精准校准:直接强制等于 153.8】
  22. current_sum = sum(nums)
  23. nums[-1] = round(total - sum(nums[:-1]), 2)
  24.  
  25. # 输出
  26. for num in nums:
  27. print(f"{num:.2f}")
  28. print(f"\n总和校验:{sum(nums):.2f}")
Success #stdin #stdout 0.02s 11620KB
stdin
Standard input is empty
stdout
16.77
16.79
16.88
16.73
16.84
16.85
16.91
16.76
16.89
16.72
16.75
16.82
16.92
16.87
16.83
16.77

总和校验:269.10