将程序从QBasic转换为Python

Bla*_*e07 6 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
Run Code Online (Sandbox Code Playgroud)

这是我和我儿子在Basic上制作的一个程序!(QBasic for iOS)显示所有素数,直到用户输入的限制,其中一些附加部分跳过明显的非素数.哦,它包括一点速度检查,我们曾经看到iPhone和iPad处理器之间的差异.

fal*_*tru 4

FOR posprime = 3 TO limit STEP 2
Run Code Online (Sandbox Code Playgroud)

上面的行可以翻译成以下Python代码(不包括限制):

for posprime in range(3, limit, 2):
Run Code Online (Sandbox Code Playgroud)

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