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

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

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

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

相关文章:

  • Open-AutoGLM权限配置生死线,root=高危?立即掌握安全上线的3个核心步骤
  • (Open-AutoGLM配置优化终极手册):千万级参数调优经验首次公开
  • (Open-AutoGLM phone9b开发者指南)首批适配机型名单流出,你的设备在列吗?
  • 2026 软考高项第 7 期思维导图:项目立项管理全逻辑,备考速存
  • 工业AI孪生平台选型与落地指南
  • Istio服务网格实战:流量治理与灰度发布
  • 开始使用 Elastic Agent Builder 和 Microsoft Agent Framework - 教程
  • 2025自考必备!10个降AI率工具测评榜单
  • 2025专科生必备!9个降AI率工具测评榜单
  • 国产高低温老化试验箱哪家性价比高?哪家强?哪家售后好?哪个企业能定制?哪家口碑好?头部企业/实力厂商/品牌推荐/推荐厂家/行业标杆企业/推荐制造商:鹏锐 - 品牌推荐大师1
  • 破解AI应用断层:为何大多数知识IP被困在“工具层”,难以跃迁至“系统层”?|创客匠人
  • 硬件升级前的准备工作
  • 学长亲荐10个AI论文工具,本科生搞定毕业论文+格式规范!
  • 揭秘Open-AutoGLM文档处理引擎:如何实现90%效率提升
  • 为什么你的大模型效率低下?Open-AutoGLM优化技巧全解析
  • (2025年底总结版)大模型学习秘籍:从入门到精通,程序员逆袭必备的逆向学习指南!(速收藏)
  • PCB FR-4材料常见问题-新手避坑指南
  • 2025 年辣味零食品牌推荐:重口味解馋零食推荐及挑选指南和选购建议 - Top品牌推荐
  • 2025年上海网站seo机构权威推荐榜单:seo优化/seo推广/seo服务源头机构精选 - 品牌推荐官
  • Python+Vue的图书推荐系统设计与实现 Pycharm django flask
  • 超越项目,拥抱流程:构建企业自我演进的数据治理生态
  • 【Open-AutoGLM激活码获取全攻略】:20年技术专家亲授合法获取与使用秘籍
  • 目标检测数据集 - 高通量藻类细胞检测数据集下载
  • Open-AutoGLM权限管理与安全策略深度解读,企业落地必看的8项要点
  • Open-AutoGLM支持文档深度解读(专家级配置指南)
  • 算法题 钥匙和房间
  • 2025香港必备专业的人力资源服务商:Safeguard Global名义雇主深度测评 - 品牌2025
  • 为什么顶尖团队都在抢用智普Open-AutoGLM国内镜像?真相令人震惊
  • 智谱AutoGLM平台接入指南:5步实现模型自动化训练与部署
  • 视频直播点播平台EasyDSS重塑远程会议直播新体验