我有以下函数来检查正则表达式输入是否合法:
进口重新
def isvalid_regex():
for _ in range(2):
try:
re.compile(input())
return True
except re.error:
return False
Run Code Online (Sandbox Code Playgroud)
这里的问题是我没有像我期望的那样得到双重输入range(2)。该函数返回 me FalseorTrue并退出。我猜一个函数不能重复for loop in range(x)存在的次数的返回语句,对吗?我的目标是有一个双输入和一个双 True 或 False return。例如作为输出:
True
False
Run Code Online (Sandbox Code Playgroud)
return语句结束函数。
您有两个选择:
您可以在以下位置了解生成器:https : //docs.python.org/3/howto/functional.html?#generators
def isvalid_regex():
for _ in range(2):
try:
re.compile(input())
yield True
except re.error:
yield False
for x in isvalid_regex():
print(x)
Run Code Online (Sandbox Code Playgroud)
输入和输出:
t
True
\\\
False
Run Code Online (Sandbox Code Playgroud)
t
True
\\\
False
Run Code Online (Sandbox Code Playgroud)
输入和输出:
t
\\\
True
False
Run Code Online (Sandbox Code Playgroud)
您可能会注意到执行顺序是不同的。您可以选择适合您的情况。
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |