函数 input() 中 fstrings 语法错误

问题描述 投票:0回答:1

我在Python 3中有以下代码

def inputWithDefault(text:str, default):
    result = input(f"{" " * int(len(text))}{default}\r{text}")
    return default if not(result is type(default)) else result

Python 在语法树生成阶段会这样说

  File "main.py", line 2
    result = input(f"{" " * int(len(text))}{default}\r{text}")
                                                             ^
SyntaxError: f-string: expecting '}'

这很难解决,因为错误不清楚并且其推理很难解析,我已经检查过并且

{}
在整个
fstring
声明中匹配。

python python-3.x syntax-error f-string
1个回答
0
投票

你可以这样尝试

def inputWithDefault(text: str, default):
    result = input(f"{' ' * int(len(text))}{default}\r{text}")
    return default if not isinstance(result, type(default)) else result
© www.soinside.com 2019 - 2024. All rights reserved.