3
我正在嘗試創建一個長計算計算器(沒有長除法,加法等),而在長分區部分我試圖讓數字但我不能(如在numdiv)TypeError:字符串索引必須是數字,而不是對象(Python)
例如:在240/12,我試圖找到的數字是24,然後我會有另一個循環,將添加12找到2(作爲在24/12是2)。
這裏是我的代碼:
##############
#number is bigger (or equal) to number 2
number = 19000
operation = '/'
number2 = 12
##############
import math
longer = len(str(number))
shorter = len(str(number2))
if operation == '/':
print str(number2) + '/' + str(number)
for i in range(longer - 1):
if int(str(number)[0, i]) >= number2:
numdiv = int(str(number)[0, i])
for i in range(1, math.trunc(numdiv/number2)):
if number2 * (i + 1) >= numdiv:
print (shorter + 1) * ' ' + number * i
的錯誤是從那裏我做了
if int(str(number)[0, i]) >= number2:
它說
TypeError: string indices must be numbers, not object
新
我試圖結束5線做
if str(number)[:i] >= number2:
numdiv = str(number)[:i]
for i in range(1, math.trunc(numdiv/number2)):
if number2 * (i + 1) >= numdiv:
print (shorter + 1) * ' ' + number * i
numdiv在這種情況下,試圖成爲一個整數,這樣做會導致問題:
ValueError: invalid literal for int() with base 10: ''
我該如何解決這個問題?
我注意到的第一件事是你應該使用'''[0:i]'''來表示一系列索引,而不是[0,i]。不過,當我複製它時,我得到它「不是元組」而不是「不是對象」... – limasxgoesto0
你不是正確地索引字符串。我不確定你想要做什麼,但索引格式是[開始:停止:步驟],現在它認爲你試圖索引一個列表,因此錯誤。 – user3014097
這[教程](http://pythoncentral.io/cutting-and-slicing-strings-in-python/)應該給你一個關於如何分割字符串以及切片可以做什麼的好主意。 –