如何在单个print调用中获取输入值并按长度输出None或原值?
解决方法
你的代码存在两个明显问题:
- 两次调用
input(),会让用户被迫输入两次内容,不符合需求 - 判断
len(input)是错误的——input是Python内置函数,不是你获取到的输入字符串,根本没法拿到输入内容的长度
下面是正确的实现方式:
方式一:先存输入再判断(兼容性好、可读性高)
先把用户输入存储到变量里,再在print里根据长度判断输出内容:
user_input = input('> Discord Webhook: ') print(user_input if len(user_input) >= 1 else None)
方式二:单次调用input完成判断(Python3.8+可用)
如果要在同一个print调用里完成所有逻辑,可以用海象运算符(:=),它能在表达式里完成赋值,确保只调用一次input:
print(x if len(x := input('> Discord Webhook: ')) >= 1 else None)
内容的提问来源于stack exchange,提问作者vlone
相关产品推荐
相关产品推荐

