自动判分工具误将输入识别为输出导致代码报错求助
问题解决思路
你的自动判分工具误把输入提示当成输出,大概率是因为平台会捕获input()函数的提示文本作为输出内容,或者代码的输出格式不符合工具预期。以下是针对性修改方案:
方案1:分离输入提示与输入操作
把input()里的提示文本单独用print()输出,避免平台将提示误判为输出:
print("What is the first of the two numbers you would like to check?: ") first_number = int(input()) print("what is the second of the two numbers you would like to check?: ") last_number = int(input()) def number_is_a_prime_number(number): if number < 2: return False for i in range(2, round(number/2) + 1): if number % i == 0: return False return True def primes_to_be_listed(first, last): prime_list = [] for number in range(first, last + 1): if number_is_a_prime_number(number): prime_list.append(number) print(f"The list of prime numbers between {first} and {last}:") for prime in prime_list: print(prime) primes_to_be_listed(first_number,last_number)
方案2:移除所有输入提示(适用于平台不允许输出提示的情况)
如果判分工具只接受纯输出结果,直接去掉所有提示文本,仅保留输入逻辑:
first_number = int(input()) last_number = int(input()) def number_is_a_prime_number(number): if number < 2: return False for i in range(2, round(number/2) + 1): if number % i == 0: return False return True def primes_to_be_listed(first, last): prime_list = [] for number in range(first, last + 1): if number_is_a_prime_number(number): prime_list.append(number) print(f"The list of prime numbers between {first} and {last}:") for prime in prime_list: print(prime) primes_to_be_listed(first_number,last_number)
额外修正:去掉输出的多余换行
原代码中print(f"...:\n")多了一个换行,可能导致输出格式不符,修改为直接输出标题即可,确保和工具预期的输出格式完全匹配。
内容的提问来源于stack exchange,提问作者D1ZZY
相关产品推荐
相关产品推荐

