首页 > 解决方案 > 我们如何找到特定数字的个位?

问题描述

我只是想知道python中是否有代码可以找到我输入的数字的个位。

Number=int(input('Enter a number:'))
print(Number)
while Number>=100:
  print(Number-) #That's a minus sign.

顺便说一句,是的,我正在尝试做一个程序,它接受一个正整数作为输入,并使用算法检查整数是否可以被 11 整除。查尔斯在 1897 年给出了这个被 11 整除的特殊测试L.道奇森。

所以我需要删除数字的个位,然后用个位减去这个数字,直到它达到一个两位数,我们计算它是否能被 11 整除。

有人可以帮忙吗?

谢谢,顺便说一句,我对python不太有经验。

标签: pythonint

解决方案


看起来 Phantom 正在遵循一个古老的技巧来确定一个数字是否可以被 11 整除。显然现在你可以只使用模运算符,但让我们假设我们正在按照 100 年前的方式进行操作。对于那些感兴趣的人,可以快速谷歌一下:

https://wcipeg.com/problem/ccc96s2

为了让它工作,我们必须前后翻转将数字视为字符串和整数。作为一个字符串,我们可以很容易地拆分数字并遵循这个过程。

# From Phantom's code
input_number = int(input('enter a number: '))
print(input_number)

# An intermediate variable to hold the number
worker = abs(input_number)

# for loop that is equal to one less than the number of digits
while worker > 10 :   # Edit - Thanks JohanC for the suggestion in the comments
    # take the last digit and subtract it from the remainging digits
    worker = int(str(worker)[0:(len(str(worker))-1)]) - int(str(worker)[-1])
    print(worker)

# Finish with a print of the divisibility
if worker == 0 : 
    print('The number {} is divisible by 11.'.format(input_number))
else : 
    print('The number {} is not divisible by 11.'.format(input_number))

希望对您有所帮助,并且是您正在寻找的东西!


推荐阅读