2017-03-24 7 views
0

내가 isdigit을 잘못 이해하고있는 것처럼 보일 수 없습니다. 여분의 줄을 추가하여 코드가 어디에 있는지 알 수 있지만 If 문을 사용하여 fnum 및 snum을 정수로 변환 할 수 없습니다. 전체적인 생각은 제 스크립트의 방정식 선에 문제가 있다는 것입니다. 따라서 방정식의 두 숫자가 모두 정수가되고 스크립트가 충돌하지 않도록하기 위해 잡을 것입니다. 나는 '진정한'답변으로 시도했고 '대문자'문제가 아니라는 것을 확인하기 위해 '사실'로 시도했다. 나는 두 문장을 출력하기 전에 if 문 앞에 isdigit 행이 올바르게 쓰여졌 음을 알기 위해 양쪽 모두를 출력했다. 문제는 평등 경우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