打印的Python问题
今天,我选择学习一种新的语言,Python。我有一些C语言的知识。 我从iPad上的Pythonista 3开始(当时正在运行),现在我回家了,复制了我的代码,我有以下问题:打印的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
#!/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))