You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3编程求助:找出输入整数(1-1000)的2、3、5、7质因数

解决你的Python质因数查找问题

嘿,我来帮你搞定这个编程作业的需求!咱们一步步拆解问题,写出清晰好用的代码。

首先明确需求核心:

  • 让用户输入1到1000之间的整数
  • 从固定质数列表[2, 3, 5, 7]里,找出能整除输入数的质因数
  • 把这些质因数友好地打印出来

实现思路

  1. 输入验证:先确保用户输入的是符合要求的整数,避免无效输入(比如字母、超出范围的数字)导致程序出错。
  2. 质因数查找:遍历给定的质数列表,逐个检查每个质数是否是输入数的因数(即输入数对质数取余等于0)。
  3. 结果输出:收集所有符合条件的质因数,然后展示给用户;如果没有找到(比如输入1或者输入11这种不在列表里的质数),也要给出明确提示。

完整代码示例

# 题目指定的质数列表
prime_list = [2, 3, 5, 7]

while True:
    # 获取用户输入并处理格式
    user_input = input("请输入一个1到1000之间的整数:")
    try:
        num = int(user_input)
        # 验证输入范围
        if 1 <= num <= 1000:
            break
        else:
            print("输入的数字不在1-1000范围内,请重新输入!")
    except ValueError:
        print("请输入有效的整数哦!")

# 收集符合条件的质因数
matched_factors = []
for prime in prime_list:
    if num % prime == 0:
        matched_factors.append(str(prime))

# 输出结果
if matched_factors:
    print(f"该整数的质因数(来自指定列表)为:{'、'.join(matched_factors)}")
else:
    print("该整数没有来自指定列表的质因数!")

代码细节解释

  • 输入循环:用while True循环确保用户输入有效,直到得到符合要求的整数。try-except用来捕获非整数输入的错误,避免程序崩溃。
  • 质因数检查:遍历prime_list,用num % prime == 0判断质数是否是输入数的因数,符合条件的就加入结果列表。
  • 结果展示:如果结果列表不为空,就用join把质因数用中文顿号连接起来打印;如果为空,提示用户没有找到对应的质因数。

测试案例参考

  • 输入12:输出该整数的质因数(来自指定列表)为:2、3
  • 输入35:输出该整数的质因数(来自指定列表)为:5、7
  • 输入1:输出该整数没有来自指定列表的质因数!
  • 输入11:输出该整数没有来自指定列表的质因数!

内容的提问来源于stack exchange,提问作者Guillermo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:13:44