在Python中为字符串输入整数时,如何使代码输出其他内容

在Python中为字符串输入整数时,如何使代码输出其他内容,python,Python,你能解释一下,当输入的是整数而不是字符串时,如何让代码说“错”之类的话吗 例如: 我试图使用上面使用的代码,但程序只是跳过了它 试试这个 def is_number(s): try: float(s) print("Wrong") except ValueError: print(s) 您可以使用if语句来确定是否在输入函数中找到了特定的整数字符串。您将使用输入函数存储名称,但这将自动计算为字符串。因此,使用if语句查找任何整数(

你能解释一下,当输入的是整数而不是字符串时,如何让代码说“错”之类的话吗 例如:

我试图使用上面使用的代码,但程序只是跳过了它

试试这个

def is_number(s):
    try:
        float(s)
        print("Wrong")
    except ValueError:
        print(s)

您可以使用if语句来确定是否在输入函数中找到了特定的整数字符串。您将使用输入函数存储名称,但这将自动计算为字符串。因此,使用if语句查找任何整数(将作为字符串存储在输入函数中)。如果发现任何错误,您将收到错误消息

name = input("Enter your name: ")

if '1' in name:
    print('Wrong')

if '2' in name:
    print('Wrong')

if '3' in name:
    print('Wrong')

if '4' in name:
    print('Wrong')

if '5' in name:
    print('Wrong')

if '6' in name:
    print('Wrong')

if '7' in name:
    print('Wrong')

if '8' in name:
    print('Wrong')

if '9' in name:
    print('Wrong')

if '0' in name:
    print('Wrong')

每次输入一个名称时,每个if语句都会检查一个整数是否已作为字符串存储在错误消息中。如果未存储,则不会出现错误消息。如果整数存储为字符串,则会出现错误消息

您需要添加输入以询问用户的姓名。然后检查它是否是一个数字

name = input("Enter you name: ")
if name.isnumeric():
    print("Wrong")
最好考虑所有非字母字符。然后,尝试检查输入是否按字母顺序排列

name = input("Enter you name: ")
if not name.isalpha():
    print("Wrong")

我还建议将代码放在一个循环中,不断询问,直到它是正确的

您需要使用
input
功能从用户处获取输入。
name=input(“输入您的姓名:”)

然后,您可以使用
try except
语句检查给定信息是否可转换为int(因为输入总是将值存储为字符串)。这将尝试将名称强制转换为int。如果成功,您知道,它是int。否则,它不是int

试试看:
int(名称)
打印(“错误”)
除值错误外:
通过

或者,您可以使用
isalpha
内置函数(可能更简单)确保名称仅包含字母字符:

name=input(“输入您的姓名:”)
如果不是isalpha():
打印(“错误”)

这不是有效的python。你能修正你的引号和缩进,这样我们就能更容易地发现你的问题吗?代码不会跳过任何东西,它会抛出许多错误。请确保您的代码准确地表示了您所使用的内容。我还建议花更多的时间学习教程,以便更加熟悉Python。这不会要求用户输入,OP的代码也缺少这一部分。我不确定他们是否达到了定义自己功能的阶段。而且,使用异常结果验证输入似乎。。。古怪的当这个代码抛出一个
ValueError
时,用户做了“正确”的事情。我没有为这个问题制定规范,我只是试图提供帮助。这是从你的角度来看的,如果你能够解决问题并设法理解原因和方式,我认为这就足够了,我不认为这是正常的,正如你所说的,有一个异常积极的,但是对于这个追逐,它可以很好地用于大约3行代码,并且可以在其他情况下重用;复制/粘贴会让你发疯的。此外,它的效率非常低,因为无论以前的条件是否为
True
,都会检查每个条件。
hell0
也不意味着我输入了一个整数,但此代码仍然会抛出一个错误。@roganjosh很抱歉,但我不明白你在说什么。我想你的第二条评论有错。“hell0”?你是说0不是整数?那是零,不是密码中的字母。我从.py复制并粘贴了它。
“hell0”
是一个碰巧包含
“0”
的字符串。它仍然是一个字符串,但是这个代码将把整个输入看作是int,而不是这样。从所有的答案来看,我认为这是最简单的,所以非常感谢!!
name = input("Enter you name: ")
if not name.isalpha():
    print("Wrong")