热搜: | 激活| 时序| mos|
快捷导航 发布入口
扫描二维码关注官方微信号

本店自用打印计数自动算价软件

[复制链接]
查看: 311|回复: 1

630

主题

198

回帖

1715

积分

管理员

积分
1715
QQ
发表于 7 天前 | 显示全部楼层 |阅读模式 来自 湖南省 移动
网罗天下电脑202603311144488869.png

最终完美全能版
功能:
✅ 支持输入 8+14+16 自动计算✅
显示:一共几个文件
✅ 显示:总页数
✅ 显示:价格
✅ 1-10 张最低 1 元,11-50 张最低 5 元
✅ 最终总价红色加粗高亮
✅ 界面干净醒目

代码如下:
  1. # ==============================================
  2. #             🖨️  打印计价计算器
  3. #        (支持多文件相加 + 显示文件数量)
  4. # ==============================================

  5. # 颜色设置(红色加粗)
  6. RED_BOLD = "\033[1;31m"
  7. RESET = "\033[0m"

  8. print("=" * 70)
  9. print(" " * 22 + "🖨️  打印计价计算器")
  10. print("=" * 70)
  11. print("📋 收费标准:")
  12. print("  1 - 10 张   →  0.5 元/页   ✅ 最低消费:1 元")
  13. print(" 11 - 50 张   →  0.4 元/页   ✅ 最低消费:5 元")
  14. print(" 51 - 100张   →  0.35元/页")
  15. print("101 - 500张   →  0.25元/页")
  16. print("  501张以上   →  0.2 元/页")
  17. print("💡 计价规则:0.2以下取整,0.2-0.7取0.5,0.7以上进1")
  18. print("=" * 70)

  19. # ========== 输入支持 + 号相加 ==========
  20. while True:
  21.     try:
  22.         user_input = input("👉 请输入打印页数(支持+号相加):")
  23.         # 分割并计算
  24.         page_list = [int(p) for p in user_input.replace(',', ',').replace('+', ' ').replace(',', ' ').split()]
  25.         total_pages = sum(page_list)
  26.         file_count = len(page_list)  # 🔥 自动算多少个文件
  27.         
  28.         if total_pages <= 0:
  29.             print("❌ 总页数必须大于0,请重新输入!\n")
  30.             continue
  31.         break
  32.     except:
  33.         print("❌ 输入无效!格式如:8+14+16\n")

  34. # ========== 计价逻辑 ==========
  35. if 1 <= total_pages <= 10:
  36.     price = 0.5
  37.     calc_price = total_pages * price
  38.     final_price = calc_price if calc_price >= 1 else 1.0

  39. elif 11 <= total_pages <= 50:
  40.     price = 0.4
  41.     calc_price = total_pages * price
  42.     final_price = calc_price if calc_price >= 5 else 5.0

  43. elif 51 <= total_pages <= 100:
  44.     price = 0.35
  45.     calc_price = total_pages * price
  46.     final_price = calc_price

  47. elif 101 <= total_pages <= 500:
  48.     price = 0.25
  49.     calc_price = total_pages * price
  50.     final_price = calc_price

  51. else:
  52.     price = 0.2
  53.     calc_price = total_pages * price
  54.     final_price = calc_price

  55. # ========== 自定义取整规则(核心修改) ==========
  56. def custom_round(price):
  57.     integer = int(price)          # 整数部分
  58.     decimal = price - integer    # 小数部分
  59.     if decimal < 0.2:
  60.         return float(integer)
  61.     elif 0.2 <= decimal <= 0.7:
  62.         return integer + 0.5
  63.     else:
  64.         return float(integer + 1)

  65. # 应用取整
  66. final_price = custom_round(final_price)

  67. # ========== 输出结果 ==========
  68. print("\n" + "=" * 70)
  69. print(" " * 24 + "🧾 结算详情")
  70. print("=" * 70)
  71. print(f"📝 你输入的页数:{user_input}")
  72. print(f"📂 一共文件数:{file_count} 个")
  73. print(f"📄 总打印页数:{total_pages} 页")
  74. print(f"💲 适用单价:{price} 元/页")
  75. print(f"🧮 原始计算:{total_pages} × {price} = {calc_price:.2f} 元")

  76. # 提示信息
  77. if 1 <= total_pages <= 10 and calc_price < 1:
  78.     print("⚠️  提示:按 1 元最低消费计算")
  79. elif 11 <= total_pages <= 50 and calc_price < 5:
  80.     print("⚠️  提示:按 5 元最低消费计算")

  81. print(f"✅ 计价取整:按规则取整后 → {final_price:.1f} 元")
  82. print("-" * 70)
  83. print(f"💰 【{RED_BOLD}最终应付总价{RESET}】:{RED_BOLD}{final_price:.1f} 元{RESET}")
  84. print("=" * 70)

  85. input("\n按 回车键 退出...")
复制代码
嫌麻烦可以直接下载文件,电脑的双击运行就行了
打印计价器.exe (7.88 MB, 下载次数: 2)
升级版代码,新增复制功能
打印价格.py (4.28 KB, 下载次数: 0)
温馨提示:本站无需登入,即可回复帖子,发帖和回复请勿涉及违法等行为!网罗天下电脑(wltxdn.cn)
回复

使用道具 举报

网罗天下-匿名 - 湖南省 移动
网罗天下-匿名  发表于 3 天前 来自 湖南省 移动
好的谢谢,这个可以自己改参数吗
回复 支持 反对

使用道具

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

精彩推荐

网罗天下让分享更简单

  • 反馈建议:admin@wltxdn.com
  • 工作时间:周一到周日 09:00-21:00
185-7316-8656

关注我们

Copyright   ©2018-2026  wltxdn Inc.  Powered by©Wltxdn  技术支持:网罗天下电脑    ( 湘ICP备2021015364号 ) 劰载中...