python - 将程序从 QBasic 转换为 Python

标签 python qbasic

我正在尝试转换我在 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):

http://docs.python.org/2/library/functions.html#range

关于python - 将程序从 QBasic 转换为 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17113886/

相关文章:

basic - 显式行号和执行顺序

time - 如何在 QBasic 中解析以年为单位的时间

basic - 如何在 BASIC 中修剪字符串?

javascript - 在 javascript 中编码了 unicode 字符串后,如何在 Python 中对其进行解码?

Python凯撒函数错误输出

Python 包安装 : pip vs yum, 还是两者一起?

python - 将 celery 与现有的 MySQL 表一起使用而不是 broker ,这可能吗?

number-formatting - 8.309618000000001D-02在QBASIC中是什么意思

if-statement - 为什么我们使用 "End If"语句?

python - Python 中二维列表的问题