我正在尝试在python中创建一个算法,要求您插入一个数字,然后从插入的数字中打印数百个,数十个单位。
我想要做的是从与数百个对应的数字中提取字符并将其打印为数百个,以及数十个单位。
例如,我到目前为止尝试做的是:
number = 321
print 'Hundreds: ', number[1]
但是,当我尝试运行时,我收到了消息:
TypeError: 'int' object is not subscriptable
不可能做我想做的事吗?
答案 0 :(得分:6)
试试str(number)[1]
。首先必须将数字转换为字符串。
请注意,这不是最优雅的解决方案。您可能想尝试(number // 100)%10
。因此,number
必须是int
。 //
表示整数除法。
答案 1 :(得分:2)
更改
number = 321
到
number = str(321)
答案 2 :(得分:2)
你必须先把它变成一个字符串,试试......
str(number)[1]
答案 3 :(得分:1)
尝试print 'Hundreds:', str(number)[-3] if number >= 100 else '0'
答案 4 :(得分:0)
您应该在以下之前将整数转换为字符串:
number = 321
s = str(number)
hundreds = s[0]
答案 5 :(得分:-1)
print 'Hundereds: ', str(number // 100)[-1]
print 'Tens: ', str(number // 10)[-1]
print 'Ones: ', str(number)[-1]