如何在python中检查input()数据类型



我正在尝试检查python中的数据类型。我想使用if语句来检查数据是否是字符串。每次我输入一个整数,它都会以字符串的形式返回值。

这是代码。

inp = input("Input: ")
if type(inp) != str:
print("You must input a string")
else:
print("Input is a string")

这是它返回的消息。

Input is a string

我想把它打印成";您必须输入一个字符串";

首先,数字也可以是字符串。字符串是任何用双引号括起来的东西。无论如何,如果你只需要得到一个输入并验证它不是一个你可以使用的数字:

inp = input("Input: ")
if inp.isdigit():
print("You must input a string")
else:
print("Input is a string")

或者,如果你想有一个没有数字的字符串,条件会是这样的:

inp = input("Input: ")
if any(char.isdigit() for char in inp) :
print("You must input a string")
else:
print("Input is a string")

它将始终是一个字符串,因为input()将用户输入的文本捕获为字符串,即使它包含整数。

input((函数总是返回字符串的数据类型。要检查您是否想要检查,一种简单的方法是在字符串上迭代,如果不存在字符,则打印";您必须输入一个字符串";。
inp = input("Input: ")
for i in inp:
if i.isalpha():
print("Input is a string")
break
else:
print("You must input a string")

一个更好的解决方案是使用try,除了:

inp = input("Input: ")
try:
x=int(j)
print("You must input a string")
except:
print("Input is a string")

这是因为int((函数抛出一个错误,即字符串中有一个字母作为输入参数

相关内容

  • 没有找到相关文章

最新更新