我正在尝试定义一个带有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)