Python - 检查列表中的数字是否是数字的因子

Zac*_*ach 3 python list factors python-3.x

我有一个list数字 ( integers)(例如,从 1 到 10)。

它们不一定是连续的,但按升序排列。

我已多次提示用户输入可用号码的选择。输入该数字后,它会连同可能存在的任何因素一起从列表中删除。

我已经阻止用户选择素数。然而,在某个时间点,那里可能存在没有剩余因子的非素数。

我对 Python 比较陌生,所以我在实现时遇到了困难:

  • 检查所选数字是否没有剩余因子(即使它不是素数)。

  • 检查是否仅剩下素数,或者没有因数的数字。

我正在考虑使用for语句,但我不确定到底如何实现它们。任何人都可以提供建议或代码吗?提前致谢...

sth*_*sth 5

要检查剩余数量是否有任何因素,guess您可以使用any()

hasfactors = any(guess % n == 0 for n in numbers)
Run Code Online (Sandbox Code Playgroud)

要检查所有剩余的数字是否都是质数,all()可以使用。(既然你说你已经阻止用户输入素数,我假设你有某种isprime()功能):

onlyprimes = all(isprime(n) for n in numbers)
Run Code Online (Sandbox Code Playgroud)