我没能编写一个程序来打印字符串的最长子字符串,其中字母按字母顺序出现在我的第一个Python测试中。
评论已阅读
"您的计划确实符合问题的要求,但也与规则4相矛盾,因此您的答案将不被接受"
所以这是我对代码的尝试:
def obtain_longest_substring(string):
current_substring = longest_substring = string[0]
for letter in string[1:]:
if letter >= current_substring[-1]:
current_substring += letter
if len(current_substring) > len(longest_substring):
longest_substring = current_substring
else:
current_substring = letter
return longest_substring
def main():
s = input("Enter a string: ")
print("Longest substring in alphabetical order is: " + obtain_longest_substring(s))
if __name__ == "__main__":
main()
但是预期的解决方案有一些我必须遵循的规则。规则4说:
对于这些问题,请不要包含输入语句或定义已经提到的变量。我们的自动化测试将为您提供价值。
我是Python新手。谁能告诉我我做错了什么?
答案 0 :(得分:0)
规则说"不包括输入语句&#34 ;;你包含了一个输入语句(在main
中)。
答案 1 :(得分:0)
规则明确指出不包含input
语句或定义变量(您也做过)。
您可以尝试将其重写为:
current_substring = longest_substring = s[0]
for letter in s[1:]:
if letter >= current_substring[-1]:
current_substring += letter
if len(current_substring) > len(longest_substring):
longest_substring = current_substring
else:
current_substring = letter
print("Longest substring in alphabetical order is: " + str(longest_substring))