You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅调用一次input()并将Python功能代码精简为一行?

解决方案

可以利用Python 3.8+支持的**海象运算符:=**实现仅调用一次input(),同时将代码精简为一行,改写后的代码如下:

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

说明:

  • 海象运算符(s:=input())会先执行input()获取输入内容,将值赋值给变量s,同时把s作为列表推导式的遍历对象,全程仅调用一次input()。
  • 列表推导式直接遍历s的每个字符c,替代了原代码中通过range(len(input_string))取索引的写法,代码更简洁。
  • 其余逻辑和你原代码完全一致:判断字符对应的小写ASCII码减97后是否为偶数,是则保留原字符,否则转为大写;最后将处理后的字符倒序排序,用空格连接后打印。

内容的提问来源于stack exchange,提问作者mohammad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:26:06