2016-03-25 14 views
1

Bir sınıra kadar primeler üretmek için bir program yazdım; çalışır, ancak Python komut satırında açılan programın kendisini ne zaman başlatırsam, çalışmayı bitirdiği saniyeyi kapatır. Ben program sonunda Program, son maddeden bağımsız olarak hala kapanıyor (Python)

print('Press enter to exit.') 

eklenmiş ve diğer programlarda bu kapanış durdurur, ama bu yine de kapatır. tam programı:

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.') 

Not: Daha doğrusu beni kapanış durdurmak yardımcı olur.

+0

biten değil programı tutmak şey yoktur cevap umuyoruz. Sadece baskı yapmak ('Çıkış yapmak için enter tuşuna basın.') 'Engellemez. Bunun yerine 'raw_input' yerine kullanmak istiyorsunuz. – idjaw

+0

Hangi derken? – Mathime

+0

Baskıyı değiştir ('Çıkış yapmak için basın.') '' 'Raw_input ('Çıkış yapmak için Enter'a basın.)' – idjaw

cevap

3

piton "baskı" fonksiyonu görüntüler metin, ancak program yürütme bitmiyor. Bu yüzden tercüman bu satırı yazdı, ancak program durduktan hemen sonra başka talimat yok.

Ve birçok işletim sisteminde, komut satırı programı bittiğinde, konsol penceresi hemen kapatılır.

Ancak, etkin olarak, raw_input("press enter to exit") yerine yazdığınızda, "giriş" işlevi kullanıcı girdisini beklediği için kapanmaz, bu nedenle kullanıcı girene kadar program duraklatılır. Ben soruyu

`

1

Sana

input("Press enter to exit")

geliyordu düşünmüyorum print(...)

+0

Python 2, 'raw_input' kullanmalı – idjaw

İlgili konular