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

Python求最大数及其阶乘程序无法通过在线平台审核求助

Python程序提交问题求助

我需要编写一个Python程序,功能是提示用户依次输入5个数字,找出并显示其中的最大数;若该最大数为正整数,则计算并显示其阶乘。我写的代码在本地测试时,示例输入输出都符合要求,但提交到theta dmstech平台(Python3环境)后始终无法通过。试过用import math、数组存数后用max()找最大值、限制非整数返回NoProceed等方法,都没用,不确定是代码、题目要求还是平台判题逻辑的问题,求帮助。

我的代码

def max_factorial():
    largest_n = int(input(''))
    result = 1

    for i in range (4):
        n = int(input(''))
        if n >= largest_n:
            largest_n = n
    
    print (largest_n)
    
    if largest_n >= 0:
        for i in range (1, largest_n+1):
            result *= i
        print(result)
    else:
        print('NoProceed')

max_factorial()

示例输入输出

示例1

输入:
4
3
3
5
2
输出:
5
120

示例2

输入:
-1
-2
-3
-4
-5
输出:
-1
NoProceed

可能的问题点及修改建议

  1. 正整数判断逻辑错误
    题目要求“最大数为正整数”才计算阶乘,但原代码判断largest_n >=0,0不是正整数,却会计算其阶乘(输出1),这不符合题目要求,应改为largest_n > 0。

  2. 输入处理不严谨
    题目说输入“数字”,但原代码直接用int(input()),若输入是浮点数(如5.0)或非整数格式的内容,会直接报错,平台可能存在这类测试用例。可以增加输入校验,处理整数型浮点数,非整数输入直接返回NoProceed。

  3. 输出格式细节
    原代码中print (largest_n)带有多余空格,虽然Python允许,但部分平台对输出格式要求严格,可能因此判错,建议去掉空格写成print(largest_n)。

修改后的参考代码

def max_factorial():
    numbers = []
    for _ in range(5):
        try:
            input_str = input().strip()
            # 处理整数型浮点数(如5.0)
            if '.' in input_str:
                num_float = float(input_str)
                if num_float.is_integer():
                    numbers.append(int(num_float))
                else:
                    print('NoProceed')
                    return
            else:
                numbers.append(int(input_str))
        except ValueError:
            print('NoProceed')
            return
    
    largest_n = max(numbers)
    print(largest_n)
    
    if largest_n > 0:
        result = 1
        for i in range(1, largest_n + 1):
            result *= i
        print(result)
    else:
        print('NoProceed')

max_factorial()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:26:05