【问题标题】:Data type validation in python - Stringspython中的数据类型验证 - 字符串
【发布时间】:2017-10-16 03:08:07
【问题描述】:

我目前正在编写一些询问用户名的 python 代码。我需要程序来验证用户的输入是否是字符串。如果是字符串,则循环将中断,程序将继续。如果输入不是字符串(如浮点数、整数等),它将循环并要求用户输入有效的字符串。我了解您在检查整数时可以使用以下代码;

while True:
try:
    number = int(input("Plese enter a number: "))
    break
except ValueError:
    print("Please enter a valid integer")

我在想我可以使用这样的东西来检查字符串;

while True:
try:
    word = str(input("Plese enter a string: "))
    break
except ValueError:
    print("Please enter a valid string")

但据我了解,str() 只是将用户的输入转换为字符串,而不管输入的数据如何。

请帮忙!

谢谢

【问题讨论】:

  • 我不太明白你想要做什么。对你来说什么是有效的字符串?
  • 所以,我希望程序检查用户是否输入了字符串。如果是这样,它将打破循环,如代码所示。如果用户输入了另一种类型的数据(整数、浮点数等),它会告诉他们再试一次。
  • 总是一个字符串。即使他们输入487,你也会得到一个字符串。
  • 你的意思是你想知道用户是否只输入了字母字符(没有数字或特殊字符)?

标签: python validation


【解决方案1】:

根据 cmets,您似乎想检查输入是否仅包含字母字符。你可以使用.isalpha()方法:

while True:
    word = input("Please enter a string: ")
    if word.isalpha():
        # Do something with valid input.
        break
    else:
        print("Please enter a valid string")    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    相关资源
    最近更新 更多