打印的Python问题

打印的Python问题,python,Python,今天,我选择学习一种新的语言,Python。我有一些C语言的知识。 我从iPad上的Pythonista 3开始(当时正在运行),现在我回家了,复制了我的代码,我有以下问题: #!/use/bin/python startNumber = 3 #1000329977989 endNumber = startNumber + 100 #int(input('Enter the ending number:')) numberToTest = startNumber string = '1 is

今天,我选择学习一种新的语言,Python。我有一些C语言的知识。 我从iPad上的Pythonista 3开始(当时正在运行),现在我回家了,复制了我的代码,我有以下问题:

#!/use/bin/python

startNumber = 3 #1000329977989
endNumber = startNumber + 100 #int(input('Enter the ending number:'))
numberToTest = startNumber

string = '1 is prime!'
print(string)
string = '2 is prime!'
print(string)
string = '3 is prime!'
print(string)

while numberToTest < endNumber -1:
    for numberToTest in range(startNumber, endNumber):
        testerRangeEnd = int(numberToTest**(1/2))
        for tester in range(2, testerRangeEnd):
            if numberToTest % tester == 0:
                string = str(numberToTest) + ' is not prime!'
                print(string)
                numberToTest += 1
                break
            if tester == testerRangeEnd - 1:
                string = str(numberToTest) + ' is prime!'
                print(string)

print("Done!")
为什么while循环中的打印不打印?我一点也不明白。。。错过我的括号、分号和括号…:(

干杯
/Leic

看看这一行:

testerRangeEnd = int(numberToTest**(1/2))
1/2给出0,因为它是整数除法。所以范围内测试仪的
(2,testerRangeEnd):
等于[]中测试仪的
迭代:
并且不会启动迭代


您应该将这些数字转换为浮点:
1.0/2=0.5

您不需要
for
循环,而或者换一种说法,您只需要其中一个,而不是两个。尝试将代码粘贴到中以可视化其执行。您是对的,但这并不能改变它不打印的事实……顺便说一下,1在你学习Python 2之前,先考虑切换到Python 3。
testerRangeEnd = int(numberToTest**(1/2))