news 2026/4/23 12:01:38

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:48:03

Open-AutoGLM实战进阶路径(从入门到精通的4个关键阶段)

第一章&#xff1a;Open-AutoGLM实战进阶路径概述Open-AutoGLM 是一个面向自动化自然语言处理任务的开源框架&#xff0c;支持从模型微调到推理部署的全流程开发。其核心优势在于灵活的任务抽象机制与模块化组件设计&#xff0c;使开发者能够快速构建定制化的语言理解系统。环境…

作者头像 李华
网站建设 2026/4/23 11:47:14

云原生测试实战:在K8s上构建弹性测试环境的全指南

为什么测试环境需要“云原生弹性”&#xff1f;在微服务架构下&#xff0c;服务数量激增&#xff0c;依赖关系复杂。传统预分配、长期存在的测试环境&#xff08;无论是物理机还是虚拟机&#xff09;面临诸多痛点&#xff1a;‌资源僵化‌&#xff1a;环境独占资源&#xff0c;…

作者头像 李华
网站建设 2026/4/23 8:29:38

Open-AutoGLM到底怎么用?3大核心功能让你效率提升10倍

第一章&#xff1a;智谱Open-AutoGLM概述智谱AI推出的Open-AutoGLM是一个面向自动化自然语言处理任务的开源框架&#xff0c;专注于降低大模型应用开发门槛。该框架融合了提示工程、自动推理与任务编排能力&#xff0c;支持用户通过低代码方式快速构建文本分类、信息抽取、问答…

作者头像 李华
网站建设 2026/4/23 8:29:38

人工智能-机器学习-深度学习-大语言模型的关系及其运行的三要素

早上被智能音箱叫醒&#xff0c;刷人脸通过门禁进入办公室&#xff0c;用 DeepSeek 写工作总结&#xff0c;刷短视频时系统精准推荐你爱看的内容&#xff0c;导航时 APP 自动避开拥堵路段&#xff0c;……——这些我们日常生活中早已习以为常的事情背后&#xff0c;都有 AI&…

作者头像 李华
网站建设 2026/4/23 8:28:42

AWS云上业务稳定性保障:构建高可用架构的实战指南

作为AWS高级咨询合作伙伴,我们已帮助众多企业构建了高可用的云上架构。今天将分享如何通过系统化的方法,在云上实现99.99%的业务可用性,确保您的关键业务稳定运行。 理解业务可用性的真正含义 可用性等级与业务影响 可用性等级 年停机时间 月停机时间 典型业务影响 99% 3.6…

作者头像 李华
网站建设 2026/4/22 18:40:19

2025年回顾:CIO直面业务与技术双重需求挑战

今年《InformationWeek》所采访的CIO们面临着一个共同现实&#xff1a;领导IT意味着引领变革——往往是重大变革。跨越各个行业&#xff0c;CIO们描述了一个超越工具和系统的角色&#xff0c;需要商业判断力、变革管理能力以及建立信任的能力——这一切都发生在AI技术飞速发展和…

作者头像 李华