gpt4 book ai didi

python - Python 中的素数和完美平方检查器

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:53:14 26 4
gpt4 key购买 nike

我正在尝试使用 Python 编写我自己的素数和完美平方检查器,如果这是一个素数,该函数应该打印“Foo”,如果这是一个完美的正方形,则打印“Bar”,如果两者都不是,则打印“FooBar”这是我的代码:

def FooBar():
prime = True
perfSqr = False
for target in range(100,100001):
for num in range(1,target+1):
if target % num == 0 and num != target:
prime = False

if target // num == num and target % num == 0:
perfSqr = True

if prime is True:
print 'Foo'
elif perfSqr is True:
print 'Bar'
else:
print 'FooBar'

if __name__ == '__main__':
FooBar()

不知何故,我根本无法运行它,任何人都可以给我一些提示吗?

最佳答案

几件事。第一个是您从 1 运行 numtarget + 1num % 1 始终为 0,因此您永远不会打印任何素数。

接下来,您不会在迭代中重置您的 primeperfSqr 标志。此外,您需要将打印语句移到外循环中,以便它们打印每次迭代。

这按预期工作:

def FooBar():
for target in range(100, 100001):
prime = True
perfSqr = False
for num in range(2, target + 1):
if target % num == 0 and num != target :
prime = False

if target // num == num and target % num == 0:
perfSqr = True

if prime or perfSqr:
print(num, end=', ')
if prime:
print('Foo', end=', ')
elif perfSqr:
print('Bar', end=' ')
print('\n')

关于python - Python 中的素数和完美平方检查器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45021432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com