运算符“:=”在这种情况下不允许

发布于 2025-01-14 14:57:09 字数 650 浏览 2 评论 0原文

我的代码:

print(" ".join([(a[i] if (ord(a[i]) - 97 % 2) == 0 else a[i].upper()) for i in range(len(a := input()))].sort(reverse=True)))

当我运行该代码时,出现此错误:

Operator ":=" not allowed in this context

我想在一行中编写以下代码:

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)

my code:

print(" ".join([(a[i] if (ord(a[i]) - 97 % 2) == 0 else a[i].upper()) for i in range(len(a := input()))].sort(reverse=True)))

when I run that code, I get this error:

Operator ":=" not allowed in this context

I want to write the following code in one line:

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)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鹿港巷口少年归 2025-01-21 14:57:09

已经解决了。感谢@MisterMiyagi 和@Tomerikoo

代码:

print(" ".join(sorted([(c if (ord(c) - 97) % 2 == 0 else c.upper()) for c in input()], reverse=True)))

it's solved. Thank's @MisterMiyagi and @Tomerikoo

code:

print(" ".join(sorted([(c if (ord(c) - 97) % 2 == 0 else c.upper()) for c in input()], reverse=True)))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文