gpt4 book ai didi

python - 如何检查在 Python 中使用 Walrus 运算符时是否按下了 Enter 键?

转载 作者:行者123 更新时间:2023-12-03 16:59:30 26 4
gpt4 key购买 nike

我正在尝试使用 Walrus 运算符获取用户的输入 := ,但如果用户只输入 Enter 键为 input , 而不是 python 脚本将终止。如何捕获此错误并确保用户不仅按下了 Enter 键?
this answer但使用 walrus 运算符不起作用。
这段没有 walrus 运算符的代码将成功检查是否不仅按下了 Enter 键:

while True:
answer = input("Please enter something: ")
if answer == "":
print("Invalid! Enter key was pressed.")
continue
else:
print("Enter wasn't pressed!")
# do something
如果用户仅按 Enter,则整个脚本将终止。
while answer := input("Please enter something: "):
# if user pressed only `Enter` script will terminate. following will never run
if answer == "":
print("enter was pressed")
else:
print("Enter wasn't pressed!")
# do something

最佳答案

代码中发生了什么?
第1部分:
发生这种情况是因为此声明 answer := input("Please enter something: ")获取输入值并分配给变量 answer .如果您按 Enter那么 answer 的值是空字符串。
第2部分:while循环计算值。由于值是一个空字符串并且空字符串评估为假,循环退出
我们不能使用 walrus 运算符来做到这一点,因为控件永远不会进入循环内部,而且您想检查输入字符串的值

关于python - 如何检查在 Python 中使用 Walrus 运算符时是否按下了 Enter 键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62925752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com