【发布时间】:2021-02-01 17:22:40
【问题描述】:
我写的代码如下。有人能告诉我这里有什么问题吗,即使我得到了所需的输出?
p = list(input())
upper_case=[]
lower_case=[]
no=[]
for i in p:
if i.isalpha() and i.isupper():
upper_case.append(i)
if i.isalpha() and i.islower():
lower_case.append(i)
if i.isdigit():
no.append(i)
upper_case.sort()
lower_case.sort()
no.sort()
lower_case.extend(upper_case)
lower_case.extend(no)
output = "".join(lower_case)
print(output)
输入是Sorting1234。我的输出是ginortS1234。预期的输出是ginortS1324。我们也必须对数字进行排序,以便奇数先到,你能帮我简化这段代码吗
【问题讨论】:
-
为什么预期的输出是“ginortS1324”而不是“ginortS1234”?
-
“即使我得到了所需的输出,这里的问题是什么” - 如何获得所需的输出?
-
@ScottHunter 所需的输出与实际输出有非常细微的不同。在我弄清楚之前,我不得不看几次。和 mkrieger1 一样,我对这个要求感到困惑。
-
@MarkRansom:但是 OP explicity 说“我得到了所需的输出”。
-
@ScottHunter 是的,OP 很困惑。现在没有实际意义,这个问题理所当然地结束了。
标签: python loops sorting nested extend