यह एक बहुत पुराना धागा है, लेकिन यहाँ एक बहुत ही गहन उत्तर और नमूना कोड है।
\r
ASCII वर्ण सेट से कैरिज रिटर्न का स्ट्रिंग प्रतिनिधित्व है । यह ऑक्टल 015
[ chr(0o15)
] या हेक्सिडेसिमल 0d
[ chr(0x0d)
] या दशमलव 13
[ chr(13)
] के समान है। man ascii
एक उबाऊ पढ़ने के लिए देखें । यह ( \r
) एक सुंदर पोर्टेबल प्रतिनिधित्व है और लोगों के पढ़ने के लिए काफी आसान है। इसका सीधा सा मतलब है कि कागज को आगे बढ़ाए बिना गाड़ी को सभी तरह से वापस स्टार्ट करने के लिए ले जाना। यह का CR
हिस्सा है CRLF
जिसका मतलब है कैरिज रिटर्न और लाइन फीड ।
print()
Python 3 में एक फ़ंक्शन है। Python 2 में (कोई भी संस्करण जिसे आप उपयोग करने में रुचि रखते हैं), मॉड्यूल print
से इसकी परिभाषा आयात करके एक फ़ंक्शन में मजबूर किया जा सकता है __future__
। print
फ़ंक्शन का लाभ यह है कि आप निर्दिष्ट कर सकते हैं कि आखिर में क्या प्रिंट किया जाए, \n
हर के अंत में एक नई रेखा प्रिंट करने के लिए डिफ़ॉल्ट व्यवहार को ओवरराइड किया जाएprint()
कॉल करें।
sys.stdout.flush
पायथन को मानक आउटपुट के उत्पादन को फ्लश करने के लिए कहता है , जहां आप आउटपुट भेजते हैं print()
जब तक कि आप अन्यथा निर्दिष्ट न करें। आप python -u
परिवेश चर के साथ चलाकर या सेट करके भी समान व्यवहार प्राप्त कर सकते हैं PYTHONUNBUFFERED=1
, जिससे स्किपिंग हो सकती हैimport sys
औरsys.stdout.flush()
कॉल करना बंद हो जाएगा। वह राशि जो आप कर रहे हैं वह लगभग शून्य है और डिबग करना बहुत आसान नहीं है यदि आप आसानी से भूल जाते हैं कि आपके आवेदन के ठीक से व्यवहार करने से पहले आपको वह कदम उठाना होगा।
और एक नमूना। ध्यान दें कि यह पायथन 2 या 3 में पूरी तरह से चलता है।
from __future__ import print_function
import sys
import time
ANS = 42
FACTORS = {n for n in range(1, ANS + 1) if ANS % n == 0}
for i in range(1, ANS + 1):
if i in FACTORS:
print('\r{0:d}'.format(i), end='')
sys.stdout.flush()
time.sleep(ANS / 100.0)
else:
print()