首页 > 解决方案 > 运行此代码时出现错误,提示未定义 str1,而我已经在 try 块中定义了它

问题描述

我正在尝试编写一个小代码块,在其中输入(用户可以输入任何单词或字母),我的代码应该尝试查找它是正数还是负数,或者输入的值是字符串。

try:
    str1=int(input('Enter a number:'))
    print('try block is completed')
except:
    str1=str(str1)
if str1>0:
    print('entered value is positive')
elif str1<0:
    print('entered value is negative')
else:
    print(str1)

标签: pythonpython-3.xtry-except

解决方案


原因是异常是在 int(input(...)) 中引起的,因此 str1 仍未声明。

str1=input('Enter a number:')
try:
    str1=int(str1)
    print('try block is completed')
except:
    str1=str(str1)
if str1>0:
    print('entered value is positive')
elif str1<0:
    print('entered value is negative')
else:
    print(str1)

像这样修改您的代码以处理整数和字符串的异常


推荐阅读