다른 종류의 데이터를 수신하고 있지만 다른 종류의 데이터를 수신하고 있다는 오류가 발생했다고 생각합니다. ? 난 코드만큼 입력 값이 50 이하로 잘 실행왜 계속 ValueError : 10 진법의 long()에 대한 리터럴이 잘못 되었습니까? '5-1'
#Program to calculate factorial of a long number
def multiply(multiplier,multiplicand):
a = long(''.join(multiplier))
b = long(''.join(multiplicand))
a = a*b
multiplier = list(str(a))
b = b-1
multiplicand = list(str(b))
if(b == 1):
return False,multiplier,multiplicand
else:
return True,multiplier,multiplicand
num = ""
f = True # A flag variable
while(f): #checks if the string consists of digits only
num = raw_input("Enter number:")
f = False
if num.isdigit() == False:
print "oops,try again!"
f = True
multiplier = list(num)
multiplicand = multiplier[:]
multiplicand.pop()
multiplicand.insert(len(multiplier),str(long(multiplier[-1])-1)) #mand now contains multiplier -1 in list form
f = True
while (f):
f,multiplier,multiplicand = multiply(multiplier,multiplicand)
num = ''.join(multiplier)
print num #print the ans as a string
python.Anyone에서 초보자이 고정 할 수있는 방법을 알고,하지만 50 후 오류 보여줍니다
Traceback (most recent call last):
File "test.py", line 31, in <module>
f,multiplier,multiplicand = multiply(multiplier,multiplicand)
File "test.py", line 5, in multiply
b = long(''.join(multiplicand))
ValueError: invalid literal for long() with base 10: '5-1'
을
'5-1'은 무엇을 의미합니까?