【问题标题】:How to get the second digit of a number or string in python?如何在python中获取数字或字符串的第二位?
【发布时间】:2013-12-16 17:42:43
【问题描述】:

有什么好主意如何获取字符串的第二个数字吗? 例如:

aaa = 122
bbb = 333

rest = bbb-aaa 
if rest[:2] == 1: 
    do something..

【问题讨论】:

  • 如果你可以像这样对一个 int 进行切片,你的切片会给出21,而不是1
  • 您的示例使用的是int 而不是string。你的意思是左数还是右数?

标签: python if-statement digit


【解决方案1】:

首先使用内置的str()函数将整数转换为字符串,然后对其进行相应的切片

所以试试这个:

if str(rest)[1] == '1':
    #do something example:
    print 'hi'

【讨论】:

    【解决方案2】:

    索引它:

    >>> mystr = "123"
    >>> mystr[1]
    '2'
    >>> mystr[-2]
    '2'
    >>>
    

    如果是数字,则需要先用str转成字符串:

    >>> myint = 123
    >>> str(myint)[1]
    '2'
    >>> str(myint)[-2]
    '2'
    >>>
    

    【讨论】:

    • 另一个好的索引是-2,因为它总是从右数第二个数字;所以对于一个号码1234,它会给你3
    【解决方案3】:

    def lastsecond(num):

    if(num>-9 and num<10):
        return -1;
    else:
        temp=num/10;
        rem=temp%10;
        return int(rem);
    

    number=abs(int(input("输入数字:"))) print("%d的最后一位是%d"%(number,lastsecond(number)))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-02
      • 2013-11-15
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-13
      相关资源
      最近更新 更多