在此代码中,我必须从用户处获取输入,并说输入是否可被5整除,但不使用该代码 user % 5 == 0
答案 0 :(得分:4)
赞:
def f(x):
return (x % 10) in (0, 5)
或者这个:
def g(x):
return x == x // 5 * 5
或者这很慢:
def h(x):
if x < 0:
x = -x
while x >= 5:
x -= 5
return x == 0
或者这个(也很慢,但比h快):
def i(x):
return str(x)[-1] in '05'
或者这个:
def j(x):
return str(x << 1).endswith('0')
还有更多解决方案。
答案 1 :(得分:1)
t = int(input())
print(t/5==t//5)
或使用
def f(x):
return (t/5==t//5)
如果数字可以被5整除,则将返回true或false。
PS。如@Pts所指出的,如果数字太大(浮点数错误),则此代码在一定长度的数字(10 ^ 15)内有效。
en.wikipedia.org/wiki/IEEE_754#Basic_and_interchange_formats表示64位浮点数的精度为53位,因此绝对值小于2 ** 53的数字t将起作用,其他数字可能会失败
答案 2 :(得分:1)
def main() :
x = int(input("enter the number"))
if x // 5 * 5 == x :
print("yes")
else:
print("no")
main()
这有效
答案 3 :(得分:0)
我自然会想到这样的东西:
def divisible(user, x):
if (x > user or x <= 0):
return False
while (user > 0):
user -= x
return user == 0
不要忘记检查x
是否为负值,并且低于用户