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/)应该给你一个关于如何分割字符串以及切片可以做什么的好主意。 –