我似乎无法弄清楚我对isdigit做错了什么。我添加了额外的行来查看我的代码所在的位置,但我无法使If语句工作,以便将fnum和snum转换为整数。整个想法是我的脚本中的方程行有问题被正确返回,所以这将捕获以确保等式中的两个数字在转换为整数之前可能是整数并且可能使脚本崩溃。我已经尝试将答案称为“真实”和“真实”,以确保它不是大写问题。我在if语句之前打印了两行,以查看isdigit行是否正确写入,虽然我没有进入if语句,但都返回True。以下是我的代码:
equation = "1+2"
isdig = 0
fnum=0
snum=0
print (equation)
firstnum = equation[0]
secondnum = equation[2]
print (firstnum)
print (secondnum)
print (firstnum.isdigit())
print(secondnum.isdigit())
if firstnum.isdigit() == "True":
print ('yes')
fnum=int(firstnum)
isdig = isdig + 1
if secondnum.isdigit() == "True":
print ('yes')
snum=int(secondnum)
isdig = isdig + 1
sign = equation[1]
print (sign)
if sign == '-' or sign == '+':
if sign == '-':
answer = fnum - snum
if sign =="+":
print ("addition")
answer = fnum + snum
isdig = isdig + 1
print (answer)
print (isdig)
答案 0 :(得分:2)
如果您的问题是平等的,则应使用类型为True
的{{1}}而不是bool
类型的"True"
。