Python 最后一位数字
我想这样做 (获取dict中数字的最后一位):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'
但出现此错误
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
。