python - Python Prime 生成器
问题描述
是的,我知道那里有很多这样的问题,而且我的问题可能已经在我没见过的地方得到了回答。但是,我仍然遇到困难并且不确定该怎么做。
maximum_range = int(input('How big do you want the range?'));
i = 3;
checkPrime = True;
while (i <= maximum_range):
y = 2;
print('i {}'.format(i))
print('y {}'.format(y))
halfI = int((i/2)+ 1)
checkPrime = False;
while (y <= halfI & checkPrime):
y += 1
if (i%y == 0):
print('{} is not prime because it is divisible by' .format(i))
checkPrime = False;
i += 2
if (checkPrime & y == halfI):
print('{}s is prime' .format(i))
checkPrime = True;
问题是嵌套迭代不起作用,它到达'here 1',就是这样。我还打印了 y 和 i- ,它们打印了正确的值,但它似乎什么也没做。
非常感谢那些帮助-请耐心等待,我更喜欢 Javascript。
解决方案
你误解了 python 的运算符:
正如这里所指出的:https ://docs.python.org/3/reference/expressions.html#binary-bitwise-operations
运算符 & 产生其参数的按位与,它必须是整数。
您应该使用的是“与”逻辑运算符。
您应该关心的另一件事是运算符优先级:https ://docs.python.org/3/reference/expressions.html#operator-precedence
关于代码的逻辑,只要您发现新的质数,您就可以使用它们来更快地除法(执行模运算)(更少的步骤),因为每个数字都可以分解为质数乘积。我不给你一个例子,因为我不知道你想要实现什么,如果你举一个你需要什么的例子,我可以做到。
推荐阅读
- c# - 如何将我的代码切换到 UnityWebRequest 以便下载进度有效?
- c# - 在 C#.Net -WhenAll Async 中重试失败的任务
- ruby-on-rails - 在特定嵌套属性的情况下如何排除验证?
- sql - 获取字段层次结构
- python - 单击 HTML 按钮时如何运行脚本(Python、Bottle)
- c# - 如何访问 blazor webassembly 中的应用程序设置
- javascript - Action Creator 在 Redux 中火力不同,如何处理?
- r - tableGrob:使用 annotation_custom 调整在 ggplot 上绘制的表格的大小(更改字体大小)
- c# - 检测对话何时结束,以便我可以删除存储的对话状态数据
- mysql - 我应该如何在 mysql 中批量查询只追加的表?