当前位置: 首页 > news >正文

Python经典100题:程序1~10(附详细解析与代码)

前言

本系列整理了Python经典编程100题的前10道题目,每道题都包含题目描述、解题思路、完整代码(含注释)、核心思想及难易程度评估,适合初学者巩固基础、培养编程思维。

程序1:互不重复的三位数

题目描述

有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

解题思路

  • 使用三层循环分别枚举百位、十位、个位

  • 百位、十位、个位都是从1到4

  • 通过条件判断确保三个数字互不相同

  • 每找到一组符合条件的数字,就输出并计数

完整代码及注释

# 程序1:互不重复的三位数 # 初始化计数器 count = 0 # 外层循环控制百位 for i in range(1, 5): # 中层循环控制十位 for j in range(1, 5): # 内层循环控制个位 for k in range(1, 5): # 确保三个数字互不相同 if i != j and i != k and j != k: count += 1 print(f"{i}{j}{k}", end=' ') # 每输出5个换行,方便查看 if count % 5 == 0: print() print(f"\n总共可以组成 {count} 个互不重复的三位数")

核心思想

  • 穷举法:通过循环枚举所有可能组合

  • 条件过滤:使用if语句排除不符合条件的组合

  • 计数技巧:使用计数器统计符合条件的个数

难易程度

★☆☆☆☆(简单)
适合初学者理解循环嵌套和条件判断。


程序2:利润提成计算

题目描述

企业发放的奖金根据利润提成:

  • 利润 ≤ 10万元:提成10%

  • 10万 < 利润 ≤ 20万:低于10万部分按10%,超过部分按7.5%

  • 20万 < 利润 ≤ 40万:低于20万部分按上述规则,超过部分按5%

  • 40万 < 利润 ≤ 60万:超过40万部分按3%

  • 60万 < 利润 ≤ 100万:超过60万部分按1.5%

  • 利润 > 100万:超过100万部分按1%
    输入当月利润I,求应发放奖金总数。

解题思路

  • 首先计算各区间段对应的固定奖金基数

  • 使用多分支if-elif-else判断利润所在区间

  • 根据区间计算超出部分的奖金并累加

完整代码及注释

# 程序2:利润提成计算 # 获取用户输入的利润(万元) I = int(input("请输入当月利润(万元):")) # 计算各区间段的奖金基数 bonus1 = 100000 * 0.1 # 10万以内的奖金 bonus2 = bonus1 + 100000 * 0.075 # 20万以内的奖金 bonus4 = bonus2 + 200000 * 0.05 # 40万以内的奖金 bonus6 = bonus4 + 200000 * 0.03 # 60万以内的奖金 bonus10 = bonus6 + 400000 * 0.015 # 100万以内的奖金 # 根据利润区间计算奖金 if I <= 100000: bonus = I * 0.1 elif I <= 200000: bonus = bonus1 + (I - 100000) * 0.075 elif I <= 400000: bonus = bonus2 + (I - 200000) * 0.05 elif I <= 600000: bonus = bonus4 + (I - 400000) * 0.03 elif I <= 1000000: bonus = bonus6 + (I - 600000) * 0.015 else: bonus = bonus10 + (I - 1000000) * 0.01 print(f"应发放奖金总额为:{bonus:.2f}元")

核心思想

  • 分段计算:将复杂问题分解为多个简单区间

  • 阶梯式处理:使用if-elif-else逐层判断

  • 避免重复计算:预计算各区间固定奖金部分

难易程度

★★☆☆☆(中等)
涉及多条件判断和分段计算,需要仔细处理区间边界。


程序3:完全平方数

题目描述<

http://www.jsqmd.com/news/549209/

相关文章:

  • DeepSeek-OCR部署教程:RTX 4090显卡下模型加载加速与显存优化技巧
  • Qwen2-VL-2B-Instruct C语言项目集成案例:嵌入式设备视觉辅助系统
  • 告别乱码!手把手教你用阿里妈妈数黑体+LVGL 8.3打造炫酷中文界面(附图标字体生成全流程)
  • 技术选型不内卷:架构师如何用底层逻辑避开 90% 的过度设计陷阱
  • 革新性开源工具Win11Debloat:突破Windows 11性能瓶颈的系统优化方案
  • AI绘画效率翻倍:WuliArt Qwen-Image Turbo极速生成+SD WebUI精修全流程
  • Qwen2.5-72B-Instruct实战:vLLM + FastAPI 构建标准化OpenAI兼容接口
  • 基于SpringBoot的在线学习系统的设计与实现(毕业论文)
  • 【RAG】【embeddings20】Intel CPU上的IPEX-LLM本地嵌入模型
  • 解决Mac视频预览难题:QuickLookVideo工具的创新方案
  • ZCU104 HDMI直通实战:从源码到屏幕的完整链路解析
  • 如何通过NoFences实现Windows桌面高效管理与智能分类?
  • Coze插件实战:如何给你的AI小游戏添加图片生成和数据库功能
  • 全球地址生成利器:基于Cloudflare Workers的随机地址生成器实战
  • Wan2.2-I2V-A14B极限测试:挑战生成复杂网络拓扑结构的动态演化视频
  • 2026年柱顶石厂家推荐:济宁明扬石业,青石/花岗岩/仿古/寺庙道观柱顶石现货供应 - 品牌推荐官
  • 革新性极简音乐体验:铜钟音乐重新定义纯净听歌方式
  • 告别BiSeNet双分支的臃肿:STDC-seg单流架构如何用‘细节引导’在Cityscapes上跑出250+FPS?
  • 终极开源实验室信息管理系统:SENAITE LIMS完整实施指南
  • 前端开发者如何用JavaScript轻松实现CAD图纸生成
  • StructBERT模型在司法领域的应用:法律条文与案例相似度检索
  • 10分钟掌握AI视频制作:如何零基础创建专业解说视频
  • 保姆级教程:在RK3568开发板上部署YOLOv8-seg模型(从ONNX到RKNN全流程)
  • 用工具还是龙虾给文件去重?
  • AI,大模型,Openclaw,重塑IT
  • 次元画室生产环境部署详解:基于Ubuntu 20.04的GPU服务器配置指南
  • 终极Word转Markdown指南:5分钟解放你的技术文档
  • MCP多模态上下文协调机制深度解
  • StructBERT孪生网络部署案例:政务公文语义关联分析系统构建
  • 100G BIDI 80km ZR4光模块:长距离传输的革新力量