【发布时间】:2022-01-21 07:21:22
【问题描述】:
如何在一行中编写此代码?这个概念是你应该:
- 从用户那里得到一个输入并检查(字符的 ASCII 形式) - 97 是否可以被 2 整除
- 如果是,您应该打印字符的原始形式
- 否则,您应该打印字符的大写形式。
- 最后,你应该颠倒答案。
- 例如,如果输入是
alexander,那么输出应该是e e a a X R N L D - 但是应该是一行而且只有一行,我想出了一个解决方案但是是3行,我不知道下一步该怎么做。
这是我目前想出的代码:
h = []
for i in input() : h.append(i.lower() if (ord(i) - 97) % 2 == 0 else i.upper())
print(*sorted(h, reverse=True))
问题的原始代码,你应该转换成一行是:
input_string = str(input())
array = []
for i in range(len(input_string)):
if (ord(input_string[i]) - 97) % 2 == 0:
array.append(input_string[i])
else:
array.append(input_string[i].upper())
array.sort(reverse=True)
answer = ' '.join(array)
print(answer)
【问题讨论】:
-
这能回答你的问题吗? How to print without a newline or space