【发布时间】:2020-11-17 04:41:11
【问题描述】:
我正在尝试检查我的输入是否是带有 try-except 块的字符串。该函数运行没有错误。但是,它会检查输入是否为整数,而不是字符串。我怎样才能反其道而行之?
def lexicon(word):
while True:
try:
a=str(input(word))
print("Input is a string. string = ", a)
except ValueError:
print("Oops..Input is not supposed to be a number. Try again!")
return a
b=lexicon("Enter the word you'd like: ")
【问题讨论】:
-
input函数总是返回一个字符串,所以检查它是否是一个字符串是毫无意义的。你到底想做什么? -
我什至无法理解他为什么将对象参数传递到输入中? @Antimon 正确地指出,他已将每个单词都转换为字符串,因此对数字使用 try-except 块是没有意义的,因为它们无论如何都会被转换为字符串。问题陈述不清楚
-
@Raghav 不仅如此,而且
str(input(...))是多余的,因为input的返回值始终是一个字符串。如果它是int(input(...)),则此代码将有意义,但 OP 需要在这里澄清。 -
@Antimon 如果输入是一个整数,我想告诉用户这是一个错误,他们需要输入一个字符串作为输入
标签: python function loops try-catch