Python 卡在字符串编号部分。。当我输入一个字符串时,代码返回一个错误,因为输入函数被转换为整数

Python 卡在字符串编号部分。。当我输入一个字符串时,代码返回一个错误,因为输入函数被转换为整数,python,Python,问题:创建一个if-else条件语句,其中用户输入一个数字并输出正、负、零或字符串数字 num = input("Input: ") if num > 0: print("Output: Positive") elif num < 0: print("Output: Negative") elif num == 0: print("Output: Zero") else: p

问题:创建一个if-else条件语句,其中用户输入一个数字并输出正、负、零或字符串数字

num = input("Input: ")
if num > 0:
   print("Output: Positive")
elif num < 0:
    print("Output: Negative")
elif num == 0:
    print("Output: Zero")
else:
    print("Output: String Number")
num=input(“input:”)
如果num>0:
打印(“输出:正”)
elif num<0:
打印(“输出:负片”)
elif num==0:
打印(“输出:零”)
其他:
打印(“输出:字符串编号”)
尝试使用以下方法:

num=int(输入(“输入数字”)

这将确保用户输入的数字为int

如果数字是十进制或根本不是数字,则会引发错误

如果字符串不是数字,可以使用try和except捕捉错误。

尝试使用以下方法:

num=int(输入(“输入数字”)

这将确保用户输入的数字为int

如果数字是十进制或根本不是数字,则会引发错误


如果字符串不是数字,可以使用try和except捕捉错误。

使用
try except

试试看:
num=int(输入(“输入:”)
如果num>0:
打印(“输出:正”)
elif num<0:
打印(“输出:负片”)
elif num==0:
打印(“输出:零”)
除:
打印(“输出:字符串编号”)

使用
尝试例外

试试看:
num=int(输入(“输入:”)
如果num>0:
打印(“输出:正”)
elif num<0:
打印(“输出:负片”)
elif num==0:
打印(“输出:零”)
除:
打印(“输出:字符串编号”)

input(…)
始终返回字符串,因此必须尝试将其转换为整数(例如使用
try/except
)。然后,使用isinstance(…)
。使用代码段,您将始终获得
输出:字符串编号
输入(…)
始终返回字符串,因此您必须尝试将其转换为整数(例如使用
try/except
)。然后,使用isinstance(…)
。对于您的代码片段,您将始终获得
输出:String Number
。感谢您的回复,但是有没有一种方法可以做到这一点,即输入可以识别字符串是String Number还是String?因为对于上面的代码,我输入的任何字符串都将输出字符串编号,但问题只指定字符串编号,即“12345”和“5”,我认为
input
将始终返回
string
type,无论您在输入框中键入什么。无论您键入
12345
还是
five
,它都将始终返回字符串类型。在上面的代码中,如果用户输入数字,那么它将只执行
try
block,否则它将只执行
除了
block。执行上面的代码检查差异谢谢你的回复,但是有没有一种方法可以让输入识别字符串是一个字符串数字还是一个字符串?因为对于上面的代码,我输入的任何字符串都将输出字符串编号,但问题只指定字符串编号,即“12345”和“5”,我认为
input
将始终返回
string
type,无论您在输入框中键入什么。无论您键入
12345
还是
five
,它都将始终返回字符串类型。在上面的代码中,如果用户输入数字,那么它将只执行
try
block,否则它将只执行
除了
block。执行上面的代码来检查差异,当我执行上面的操作时,当输入是字符串时,输入返回一个错误。是否有一种方法可以同时识别工作和“字符串编号”输入?我不确定是否理解,但您可以使用try-and-except语句检查字符串是数字还是普通字符串。谢谢,当我执行上述操作时,当输入为字符串时,输入返回一个错误。是否有一种方法可以同时识别工作和“字符串编号”输入?我不确定是否理解,但您可以使用try-and-except语句检查字符串是数字还是普通字符串。