将程序从QBasic转换为Python

7

我正在尝试将我用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处理器的差异。

1个回答

4

1
它需要到limit+1:range(3, limit+1, 2) - Brent Washburne
1
谢谢您的回复。因此,范围上限是包括下限但不包括上限,因此需要使用 limit+1? - BlackDuke07

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接