少し前に、この (本当に) 単純なプログラムに出くわしました。最初の x 素数を出力するだけです。私は尋ねるのが恥ずかしいです、それをより「pythonic」にする方法、つまり(より)読みやすくしながら凝縮する方法はありますか?スイッチング機能は問題ありません。私は読みやすさだけに興味があります。
ありがとう
from math import sqrt
def isprime(n):
if n ==2:
return True
if n % 2 ==0 : # evens
return False
max = int(sqrt(n))+1 #only need to search up to sqrt n
i=3
while i <= max: # range starts with 3 and for odd i
if n % i == 0:
return False
i+=2
return True
reqprimes = int(input('how many primes: '))
primessofar = 0
currentnumber = 2
while primessofar < reqprimes:
result = isprime(currentnumber)
if result:
primessofar+=1
print currentnumber
#print '\n'
currentnumber += 1