Python 最后一位数字

Python 最后一位数字,python,python-2.7,Python,Python 2.7,我想这样做 (获取dict中数字的最后一位): 但出现此错误TypeError:“int”对象不可下标如果year是整数,则可以使用year%10获取最后一位数字 %称为模运算符,它告诉您在将左侧除以右侧后的余数。如果年份是整数,您可以使用年份%10获取最后一位数字 %称为模运算符,它告诉您在将左侧除以右侧后的余数。当您处理数字中的数字时,您可以将数字视为字符串,然后它就会工作 year = age.get(user_id) year = str(year) if year[-1] == '1'

我想这样做 (获取dict中数字的最后一位):


但出现此错误
TypeError:“int”对象不可下标

如果year是整数,则可以使用
year%10
获取最后一位数字


%
称为模运算符,它告诉您在将左侧除以右侧后的余数。

如果年份是整数,您可以使用
年份%10
获取最后一位数字


%
称为模运算符,它告诉您在将左侧除以右侧后的余数。

当您处理数字中的数字时,您可以将数字视为字符串,然后它就会工作

year = age.get(user_id)
year = str(year)
if year[-1] == '1':
   pass

当处理数字中的数字时,可以将数字视为字符串,这样它就可以工作了

year = age.get(user_id)
year = str(year)
if year[-1] == '1':
   pass
年份必须是整数

尝试:

年份必须是整数

尝试:


您必须将年份参数从
integer
更改为
string
(使用
str(year)
)才能使用
切片

像这样:

year=age.get(用户id)
如果str(年份)[-1]=“1”:
通过
虽然最好使用模(除10后的余数),这将得到最后一位数字,但如果数字是正整数:

year=age.get(用户id)
最后一位=年份%10
如果是负值,您可以取当年的绝对值,以获得正确答案(
abs(年份)%10


请注意,这已在中提出:

您必须将年份参数从
整数
更改为
字符串
(使用
str(年份)
),以便能够使用
切片

像这样:

year=age.get(用户id)
如果str(年份)[-1]=“1”:
通过
虽然最好使用模(除10后的余数),这将得到最后一位数字,但如果数字是正整数:

year=age.get(用户id)
最后一位=年份%10
如果是负值,您可以取当年的绝对值,以获得正确答案(
abs(年份)%10


请注意,这已在中询问:

如果
年份
是一个字符串,您可以根据给定的数字获取最后一位数字。但是您的
age.get(user\u id)
返回一个整数,您无法按给定的方式获取最后一位数字。您已经找到了一种数字方式,如:

if year%10 == 1:
    pass

如果
year
是一个字符串,则可以按给定值获取最后一位数字。但是您的
age.get(user\u id)
返回一个整数,您无法按给定的方式获取最后一位数字。您已经找到了一种数字方式,如:

if year%10 == 1:
    pass

这个错误准确地告诉你发生了什么。不能分割整数,只能分割字符串。错误会准确地告诉您发生了什么。不能分割整数,只能分割字符串。这不起作用
str(year)[-1]
将返回
1
的字符串表示形式,而不是int表示形式。@SwetankPoddar您是对的,如果您看到问题已经得到回答,我还会编辑答案,只是一个建议。。。你应该标记问题,而不是在你的答案中包含一个链接:)干得好,顺便说一句。欢迎使用SO:D这不起作用
str(year)[-1]
将返回
1
的字符串表示形式,而不是int表示形式。@SwetankPoddar您是对的,如果您看到问题已经得到回答,我还会编辑答案,只是一个建议。。。你应该标记这个问题,而不是在你的答案中包含一个指向它的链接:)干得好。欢迎这么做:如果
year
是负的,怎么办?试试看:
python
/
>>>-22%10
/
8
-22的最后一个数字不是8,是吗?如果你需要处理负的年份,那么使用
abs(year)%10
。如果
year
某种程度上是负数怎么办?试试看:
python
/
>-22%10
/
8
-22的最后一个数字不是8,是吗?如果需要处理负数年份,那么使用
abs(year)%10