我正在尝试转换我在 Basic 中制作的程序! (iOS 上的 QBASIC)到 Python。我正在慢慢学习 Python for Dummies,但我一直在研究如何转换 FOR 循环。有人可以帮忙吗?以下是 QB 代码。
REM Prime Numbers v2
REM Av 2.2 seconds for 1000
REM Av 5.3 seconds for 2000
INPUT "Prime numbers upto";limit
PRINT
t1 = TickCount
PRINT "2 3 ";
count = 2
FOR posprime = 3 TO limit STEP 2
posfactor = 3
prime = 1
GOSUB testing
IF prime = 1 THEN
PRINT posprime " ";
count = count + 1
END IF
NEXT posprime
t2 = TickCount
PRINT
PRINT
PRINT count " prime numbers found"
PRINT USING "####.#"; "Completed in" t2 - t1 " seconds"
END
testing:
IF posprime/posfactor = INT(posprime/posfactor) THEN
prime = 0
RETURN
ELSE
posfactor = posfactor + 2
IF posfactor > SQR(posprime) THEN
RETURN
ELSE
GOTO testing
这是我和我儿子在 Basic 上制作的程序! (适用于 iOS 的 QBasic)显示所有素数,直到用户输入的限制,并添加了一些跳过明显非素数的部分。哦,它包括一个小的速度检查,我们用来查看 iPhone 和 iPad 处理器之间的区别。
最佳答案
FOR posprime = 3 TO limit STEP 2
上面一行可以翻译成下面的Python代码(限制除外):
for posprime in range(3, limit, 2):
关于python - 将程序从 QBasic 转换为 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17113886/