【问题标题】:Input validation (Python)输入验证 (Python)
【发布时间】:2015-10-31 09:57:08
【问题描述】:

对于输入,我需要一个包含数字和字母或仅包含字母的字符串。 Atm 我的代码适用于这些条件,但如何添加输入不能包含标点符号?

nimi = input("...name: ")
while name.isalnum == True or name.isnumeric():
    name = input("...name: ")

【问题讨论】:

  • 您拥有的代码不会给出您期望的答案...您缺少括号。但是请注意,一旦你解决了这个问题,它就满足了要求:如果它只是字母和数字或数字,当然没有标点符号。

标签: python validation input


【解决方案1】:

最好使用正则表达式。

if re.match(r'^(?!\d+$)[\da-zA-Z]+$', pass):

【讨论】:

  • while name.isalnum == True or name.isalpha():
【解决方案2】:

如上所述,使用regex 更好。但是以下条件对您有用。使用string.punctuation 计算所有标点符号。

import string
while(name.isalnum() or name.isalpha()) and not any(i in string.punctuation for i in name):

【讨论】:

    猜你喜欢
    • 2013-10-10
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多