如何授予输入权限以接受带有 space 的名称?

How to give input permission to accept a name with a space?

我知道在 Python 中,为了让程序忽略 space 你可以使用 input("something").strip() 但是你用什么函数让程序忽略 space 如果它在像 ja ck 这样的单词的中间,也有办法组合名称,所以如果你输入它像 ja ck 它会打印 jack?

您可以使用 str.translate :

input("something").translate(None,' ') 

如果你在 python 3 你需要执行以下命令:

input("something").translate({ord(' '):None})

将空格替换为空格

>>> input("something\n").replace(' ','')
something
ja       ck
'jack'

如果你有一个词:

input("something").replace(" ","")

但是 foo bar 会变成 foobar 所以这真的取决于可能的输入,如果你输入的不仅仅是一个单词,那将是一个非常不同的命题。

让用户确认输入可能会更好:

while True:
   inp = input("Please enter your").replace(" ","")
   confirm = input("You entered {}, enter "r" ro re-enter or any key to continue".format(inp))
   if inp == "r":
       continue
   else:
      # do whatever

您也可以将字符串拆分为空格,然后重新组合(不带空格):

 ''.join("ja ck".split())