检查数字是否以5结尾?

Bil*_*son 1 python

我正在尝试定义一个带有2个参数的函数,将它们相加,如果两个参数之和以5结尾,则报告为2.如果它不以5结尾,则返回8.

有任何想法吗?

我正在考虑做一个if语句,但我很困惑我将如何检查一个数字是否以5结尾(或者是5).

感谢您的帮助,尝试自学如何编程是如此困难但又如此有益:)

Tad*_*eck 10

我的回答假设您正在检查整数(根据您的问题,这似乎很合理):

def sum_ends_with_5(a, b):
    """
    Checks if sum ends with "5" digit.
    """
    result = a + b
    return 2 if result % 10 == 5 else 8
Run Code Online (Sandbox Code Playgroud)

或更灵活(具有任意数量的参数):

def sum_ends_with_5(*args):
    """
    Checks if sum ends with "5" digit.
    """
    result = sum(args)
    return 2 if result % 10 == 5 else 8
Run Code Online (Sandbox Code Playgroud)

它是如何工作的(又称测试)

该函数的行为如下:

>>> sum_ends_with_5(5)
2
>>> sum_ends_with_5(3)
8
>>> sum_ends_with_5(2, 8)
8
>>> sum_ends_with_5(7, 8)
2
>>> sum_ends_with_5(10, 20, 3, 2)
2
Run Code Online (Sandbox Code Playgroud)

更短的版本

因此,如果您想以更短,更灵活的方式编写它,您可以这样做:

def sum_ends_with_5(*args):
    return 2 if sum(args) % 10 == 5 else 8
Run Code Online (Sandbox Code Playgroud)


Ign*_*ams 5

将模数除以 10,检查是否为 5。

print num % 10 == 5
Run Code Online (Sandbox Code Playgroud)