如何在Python的一行中比较输入值和赋值?

  • 本文关键字:比较 赋值 一行 Python python
  • 更新时间 :
  • 英文 :


这是一个简单的任务,但我仍然想压缩它来学习新的方法。

假设我想要一个值(例如:一个数字),但是他们输入了一个无效的输入("),然后我可以分配一个默认值(=5),如下所示:

-> number = int(input("Enter Number: ") or 5)

在这个方法中,如果用户输入-1,代码仍然有效,number = -1。但是,如果要检查值是否大于2呢?

-> number = int( int("Enter Number: ") >2 or 5)
-> Enter Number: 10
-> print(number)
-> 1 

分配并打印逻辑值10>2 = 1

是否有办法比较值并相应地赋值在一个语句

我不相信您可以在一行上完成此操作,因此您需要编写额外的行,或者(可能是更好的选择)为此编写一个辅助函数。您可能还应该检查其他无效输入。例子:

def get_value_or_default(minimum: int = 2, default: int = 5) -> int:
try:
number = int(input("Enter Number: "))
except ValueError:
return default

return number if number >= minimum else default

与输出:

>>> get_value_or_default()
Enter Number: 1
5
>>> get_value_or_default()
Enter Number: 2
2
>>> get_value_or_default()
Enter Number: 3
3
>>> get_value_or_default()
Enter Number: oops
5

相关内容

  • 没有找到相关文章

最新更新