将程序从QBasic转换为Python [英] Convert program from QBasic to Python
问题描述
我正在尝试转换我在Basic中制作的程序! (iOS上为QBASIC)到Python.我正在慢慢地通过Python for Dummies工作,但是我仍然坚持如何转换FOR循环.有人可以帮忙吗?波纹管是QB代码.
Im trying to convert a program that I made in Basic! (QBASIC on iOS) to Python. I am slowly working my way through Python for Dummies but I am stuck on how to convert FOR loops. Can someone help? Bellow is the QB code.
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处理器之间的区别.
It is a program that me and my son made on Basic! (QBasic for iOS) that displays all the prime numbers up to the limit entered by the user with some added parts that skip obvious non-prime numbers. Oh and it includes a little speed check that we used to see the difference between iPhone and iPad processors.
推荐答案
FOR posprime = 3 TO limit STEP 2
上一行可以翻译为以下Python代码(不包括限制):
Above line could be translated into following Python code (limit exclusive):
for posprime in range(3, limit, 2):
http://docs.python.org/2/library/functions. html#range
这篇关于将程序从QBasic转换为Python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!