如何在 Python 3.10 中的匹配情况下获取带空格的字符串
Posted
技术标签:
【中文标题】如何在 Python 3.10 中的匹配情况下获取带空格的字符串【英文标题】:How to take string with space in match case in Python 3.10 【发布时间】:2021-12-14 20:07:36 【问题描述】:我在 python 3.10 中有一个带有匹配案例结构的代码。这是一个终端的应用程序,带有命令。如何在一个变量中获取“cesar”之后的所有文本?因为空格会破坏命令。
user= input("->")
match user.split():
case["cesar" ,mot]:
cesar(mot)
case _:
print("your answer is incorrect")
【问题讨论】:
离题,但如果您不想重新发明***,可以使用cmd
library。
【参考方案1】:
使用*
匹配子列表,就像在函数参数列表中获取所有剩余参数一样。
match user.split():
case ["cesar", *mot]:
cesar(mot)
case _:
print("your answer is incorrect")
【讨论】:
【参考方案2】:对于“一个变量中cesar
之后的所有文本”,如果您的意思是一个str
变量,请使用maxsplit=1
;否则,Barmar 的答案可能就是您想要的:
def cesar(mot):
print(f'mot=')
user= input("->")
match user.split(maxsplit=1):
case["cesar" ,mot]:
cesar(mot)
case _:
print("your answer is incorrect")
输出:
->cesar one two three
mot='one two three'
【讨论】:
以上是关于如何在 Python 3.10 中的匹配情况下获取带空格的字符串的主要内容,如果未能解决你的问题,请参考以下文章