如何授予输入权限以接受带有 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())
我知道在 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())