无论end子句如何,程序仍然关闭(Python)

时间:2016-03-25 15:11:47

标签: python python-2.7

我写了一个程序来生成一个极限的素数;它工作,但每当我启动程序本身,它在Python命令行中打开,它关闭它完成运行的第二个。我添加了

print('Press enter to exit.')

在程序结束时和其他程序中,这会阻止它关闭,但无论如何这都会关闭。 该计划完整:

from __future__ import division
import math
def isprime(n):
    x = 2
    while(x >= 2 and x <= n**0.5):
        if n%x == 0:
            return False
        x += 1
    return True
print('Enter an upper bound.')
y = input()
print('Would you like place numbers? Y/N')
b = raw_input()
if b == 'Y' or b == 'y':
    a = 0
elif b == 'N' or b == 'n':
    a = 1
else:
    print('Error. Enter Y or N.')
i = 2
c = 1
while(a == 1 and i <= y):
    if isprime(i) == True:
        print(i)
        c += 1
    i += 1
while(a == 0 and i <= y):
     if isprime(i) == True:
        print('Prime number ' + str(c) + '-->' + str(i))
        c += 1
     i += 1
print(str(c) + ' primes in total were generated between 0 and' + str(y))
print('Press enter to exit.')

注意:我宁愿你帮我阻止它关闭。

2 个答案:

答案 0 :(得分:3)

python“print”函数显示文本,但不会停止程序执行。 所以解释器打印这一行,但是在程序停止之后,因为没有更多的指令。

在许多操作系统上,当命令行程序完成时,控制台窗口立即关闭。

但实际上,如果您改为编写raw_input("press enter to exit"),它将不会关闭,因为“输入”功能会等待用户输入,因此程序会暂停,直到用户按下回车键。 我希望它回答了这个问题

`

答案 1 :(得分:1)

我认为你的意思是

input("Press enter to exit")

不是print(...)