2017-03-24 7 views
0

私はisdigitで間違っていることを理解できないようです。余分な行を追加して私のコードがどこに届いているかを確認しましたが、If文を使ってfnumとsnumを整数に変換することはできません。私の考えでは、スクリプトの方程式の線に問題があったので、数式内の数値が整数になり、スクリプトがクラッシュする可能性があることを確認します。私は答えを「真」とし、それが大文字問題ではないことを確かめるために「真実」を試みました。 if文の前に両方の行を出力して、isdigit行が正しく書かれていることを確認してください。両方ともif文の内部には入っていませんが、Trueを返します。ここでは以下の私のコードは次のとおりです。Python3 isdigit

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) 

答えて

2

あなたの問題はあなたがタイプbool代わりの種類str"True"Trueを使用する必要があり平等である場合。

+0

おっと!私はその馬鹿だった!ありがとう! – Brandon

+0

@Brandonあなたは歓迎です:) – zipa