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()
将用户输入的文本捕获为字符串,即使它包含整数。
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((函数抛出一个错误,即字符串中有一个字母作为输入参数