我试图转换我在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处理器之间的差异.
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
| 归档时间: |
|
| 查看次数: |
1955 次 |
| 最近记录: |