尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Python基础练习11.分解质因数和条件运算符

Python基础练习11.分解质因数和条件运算符
📅 发布时间:2026/6/19 1:42:20

1. 分解质因数

方法一、函数法
from sys import stdout # 导入sys模块中的stdout对象(标准输出流) n = int(input("input number:\n")) # 提示用户输入一个数字,并转换为整数类型 print("n=%d"%n) # 打印输入的数字n的值 # 外层循环:从2开始到n(包含n)的所有整数 for i in range(2, n+1): # 内层循环:当n不等于1时持续执行 while n != 1: # 检查n是否能被i整除 if n % i == 0: stdout.write(str(i)) # 将当前因数i写入标准输出(不换行) stdout.write("*") # 写入乘号分隔符(不换行) n = n / i # 更新n的值为n除以i的结果(浮点数) else: break # 如果不能整除,跳出内层while循环 print("%d"%n) # 打印最后剩余的n值(此时应为1)

结果:

input number:
7868
n=7868
2*2*7*281*1

方法二、循环除法
def prime_factors_1(n): factors = [] # 存储质因数的列表 d = 2 # 从最小质数2开始 while n > 1: if n % d == 0: # 若能被整除 factors.append(d) # 将除数加入质因数列表 n //= d # 更新n为商 else: d += 1 # 除数加1继续尝试 return factors num = int(input("请输入数字:")) print(f"{num} = {' × '.join(map(str, prime_factors_1(num)))}")

结果:

请输入数字:90
90 = 2 × 3 × 3 × 5

方法三、递归分解
def prime_factors_3(n, factor=2, result=None): if result is None: # 初始化结果列表 result = [] if n == 1: # 递归终止条件 return result if n % factor == 0: result.append(factor) return prime_factors_3(n // factor, factor, result) else: return prime_factors_3(n, factor + 1, result) num = int(input("请输入数字:")) print(f"{num} = {' × '.join(map(str, prime_factors_3(num)))}")

结果:

请输入数字:90
90 = 2 × 3 × 3 × 5

2. 条件运算符

利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分一下的用C表示。

score = int(input('input your score: ')) if score >= 90: grade = 'A' elif score >= 60: grade = 'B' else: grade = 'C' print('%d belongs to %s' % (score, grade)) # %d:整数 # %s:字符串 # %f:浮点数(如 %.2f 保留两位小数) # 替代:print(f'{score} belongs to {grade}')

结果:

input your score: 90
90 belongs to A

其他方法:

def get_grade(score): thresholds = [90, 60] grades = ['A', 'B', 'C'] for i, threshold in enumerate(thresholds): if score >= threshold: return grades[i] return grades[-1] score = int(input('input your score: ')) print(f'{score} belongs to {get_grade(score)}')

结果:

input your score: 78
78 belongs to B

score = int(input('input your score: ')) # 计算分数段索引:90+→0, 60-89→1, <60→2 index = min(2, max(0, (90 - score) // 30 + 1)) grade = ['A', 'B', 'C'][index] print(f'{score} belongs to {grade}')

结果:

input your score: 67
67 belongs to B

相关新闻

  • 2025自考必备!10个降AI率工具测评榜单
  • 2025专科生必备!9个降AI率工具测评榜单
  • (2025年底总结版)大模型学习秘籍:从入门到精通,程序员逆袭必备的逆向学习指南!(速收藏)

最新新闻

  • JavaScript DXF Writer终极指南:在浏览器中生成CAD图纸的完整教程
  • 北京大理石修补推荐良匠千艺2026口碑榜 - 我叫一
  • Unity音频管理终极方案:高性能去中心化音频播放系统
  • 2026苏州专业处理离婚财产分割律师选择参考 - 品牌排行榜
  • 如何构建高效的股票智能分析系统:自动化部署与配置指南
  • DeepSeek V4双模架构解析:1M上下文与OPD训练的工程化落地

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号