def f(n):l=[1];exec"(n in l)>=any(n%k<1for k in range(2,n))>q;l=map(sum,zip([0]+l,l+[0]));"*n
इसे ऑनलाइन आज़माएं!
यह एक नामित फ़ंक्शन f है , जो बाहर निकलने के कोड के माध्यम से आउटपुट करता है , 0 पास्कल प्राइम के लिए, 1 अन्यथा।
यह कैसे काम करता है?
def f(n):l=[1]; # Define a function f (arg. n) and a list l = [1].
exec"..."*n # Execute n times.
(n in l) # Boolean: "n is in l?" is greater than...
>=any(n%k<1for k in range(2,n)) # the boolean: "Is n composite?"?
>q; # If the boolean comparison returns a falsy
# result, then continue on without any difference.
# Otherwise, evaluate the other part of the
# inequality, thus performing "is greater than q".
# Since we have no variable "q", this terminates
# with exit code 1, throwing a "NameError".
l=map(sum,zip([0]+l,l+[0])); # Generate the next row in Pascal's triangle,
# By zipping l prepended with a 0 with l appended
# with a 0 and mapping sum over the result.
यह मूल रूप से जाँचता है कि क्या n n के पहले n में आता है - पास्कल के त्रिकोण की 1 पंक्तियाँ या यदि यह प्रधान है, और इन दोनों में से किसी भी स्थिति के पूरा होने पर एक त्रुटि फेंकता है।
अंडा के लिए 1 बाइट का धन्यवाद बचा ।