我想找到给定输入(负输入)的倒数第二个数字。如果输入的是单个数字(示例-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,但我不想这样做,我只需要负数位输入的逻辑即可。我是初学者,请帮忙。 非常感谢:)
答案 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])