如何做到这一点?

时间:2020-05-21 15:09:29

标签: python python-3.x

我想找到给定输入(负输入)的倒数第二个数字。如果输入的是单个数字(示例-9),则程序应返回-1。(我不想在后一种情况下使用else,我希望这是逻辑。) 我的程序:

a=int(input(" enter no. " ))
if a<0:
   a=a*-1
   a%=100
   a/=10
   print(int(a))
if a<0 and a%10==a :
    print("-1")

但是我的代码为任何负的一位数字输入给出0。如何修改?我知道我可以使用其他方式来打印-1,但我不想这样做,我只需要负数位输入的逻辑即可。我是初学者,请帮忙。 非常感谢:)

2 个答案:

答案 0 :(得分:0)

您可以做的第一件事是将负数乘以-1(如果负数已经很好),然后执行a = a / 10,然后如果您的数字小于0则用一位数字

a=int(input(" enter no. " ))
if (a<0 ) :
   a = a * -1
a = a / 10
if (a<0) :
   # its a single digit

答案 1 :(得分:0)

通过将整数视为字符串,您可以相当轻松地完成所有操作。

if a < 0:
  a *= -1
b = str(a)
if len(b) == 1:
  a = -1
if len(b) > 1:
  a = int(b[-2])