目录
Check if a number is divisible by another number in Python
- 检查一个数字是否可以被 Python 中的另一个数字整除
- 检查一个数字是否不能被另一个数字整除
- 查找列表中可被另一个数字整除的数字
- 使用 filter() 查找列表中可被另一个数字整除的数字
- 检查用户输入的数字是否可以被另一个数字整除
- 检查一个数字是否可以被两个或更多数字整除
- 检查一个数字是否可以被多个数字中的 1 整除
在 Python 中检查一个数字是否可以被另一个数字整除
使用模%
运算符检查一个数字是否可以被另一个数字整除。
模%
运算符返回第一个数除以第二个数的余数。如果余数是0
,则该数可以被另一个数整除。
if 9 % 3 == 0: # 👇️ this runs print('number A is divisible by number B') else: print('numebr A is NOT divisible by number B') if 15 % 5 == 0: # 👇️ this runs print('number A is divisible by number B') else: print('number A is NOT divisible by number B')
我们使用%
模运算符来检查一个数字是否可以被另一个数字整除。
取模
(%)
运算符返回第一个值除以第二个值的余数。
print(10 % 2) # 👉️ 0 print(10 % 4) # 👉️ 2
如果除法没有余数,则第一个数是第二个数的倍数。
print(16 % 4) # 👉️ 0 print(16 % 4 == 0) # 👉️ True
4
是 的精确倍数16
,因此可以被的余数16
整除。4
0
检查一个数字是否不能被另一个数字整除
如果您需要检查一个数字是否不能被另一个数字整除,请使用%
带有不等号的模!=
运算符。
print(15 % 4) # 👉️ 3 print(15 % 4 != 0) # 👉️ True if 15 % 4 != 0: print('15 is not divisible by 4')
15
不是 的精确倍数4
,因此15
除以4
得到 的余数3
。
查找列表中可被另一个数字整除的数字
要查找列表中可被另一个数字整除的数字:
- 使用列表理解来迭代数字列表。
- 使用模运算符检查每个列表项是否可以被给定的数字整除
%
。 - 返回匹配项。
list_of_numbers = [20, 10, 25, 50, 3, 8] new_list = [number for number in list_of_numbers if number % 4 == 0] print(new_list) # 👉️ [20, 8]
列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。
在每次迭代中,我们使用取模运算符检查当前列表项是否可被整除4
并返回结果。
新列表只包含匹配的元素。
使用 filter() 在列表中查找可被另一个数字整除的数字
或者,您可以使用该filter()
功能。
list_of_numbers = [20, 10, 25, 50, 3, 8] new_list = list( filter( lambda x: x % 4 == 0, list_of_numbers ) ) print(new_list) # 👉️ [20, 8]
filter函数接受一个函数和一个可迭代对象作为参数,并从可迭代对象的元素构造一个迭代器,函数返回一个真值。
我们传递给的 lambda 函数会filter()
针对列表中的每个元素进行调用。
该函数检查每个元素是否可被整除4
并返回结果。
最后一步是使用list()类将对象转换filter
为列表。
检查用户输入的数字是否可以被另一个数字整除
这是一个从用户输入中获取数字并检查一个数字是否可以被另一个数字整除的示例。
num_1 = int(input('Enter a number: ')) print(num_1) # 👉️ 16 num_2 = int(input("Enter another number: ")) print(num_2) # 👉️ 4 if num_1 % num_2 == 0: print(f'{num_1} is divisible by {num_2}') else: print(f'{num_1} is NOT divisible by {num_2}')
输入函数接受一个可选参数并将其写入标准输出而prompt
没有尾随换行符。
请注意,我们使用int()
类将输入字符串转换为整数。
即使用户输入数字,它仍会转换为字符串。
检查一个数字是否可以被两个或更多数字整除
如果您需要检查一个数字是否可以被两个或更多其他数字整除,请使用and
运算符。
num = 15 if num % 3 == 0 and num % 5 == 0: # 👇️ this runs print('15 is divisible by 3 and 5')
如果表达式x and y
为假,则返回左边的值,否则返回右边的值。
if
仅当两个条件的计算结果都为 时,该块才会运行True
。
检查一个数字是否可以被多个数字中的 1 整除
相反,如果您需要检查一个数字是否可以被1
多个数字整除,请使用or
运算符。
num = 15 if num % 10 == 0 or num % 5 == 0: # 👇️ this runs print('15 is divisible by 10 or 5')
如果表达式x or y
为真,则返回左边的值,否则返回右边的值。
如果任一条件的计算结果为True
,if
则运行该块。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: