print
จะทำการเก็บ string ที่จะพิมพ์ไว้ก่อน จนกว่าจะเจออักขระสำหรับขึ้นบรรทัดใหม่อย่าง \n
หรือ \r
มันถึงจะพิมพ์ข้อมูลเหล่านั้นออกมาเราอาจประยุกต์ท่านี้มาใช้สร้าง progress bar/progress message ได้ง่ายๆ เช่น
แต่ถ้าต้องการพิมพ์ข้อมูลออกมาเรื่อยๆ ไม่อยากกลับไปเริ่มต้นจากด้านหน้าบรรทัดใหม่หมดตามตัวอย่างข้างบน ต้อง
import
ฟังก์ชัน flush จากโมดูล sys.stdout มาครับสุดท้าย ถ้าเราต้องการปรับค่าเล็กน้อยในบรรทัด แต่ไม่ต้องการลบทั้งบรรทัดเพื่อพิมพ์ใหม่หมด เราอาจใช้
\b
เพื่อลบตัวอักษร (จริงๆ ก็ไม่ได้ลบ แต่เป็นการเลื่อน cursor ไปด้านซ้าย) ได้ระวังอย่าเลื่อนกลับไปทางซ้ายด้วย
\b
เพลิน เพราะการจะเลื่อนกลับมาด้านขวาไม่มีอักขระแบบ \b
ให้ใช้ ต้องพิมพ์ซ้ำตัวอักษรทับลงไปในตำแหน่งนั้นๆ ครับ
ตรง print('{:3}'.format(),end='')
ReplyDeleteต้องเป็น print('{:3}'.format(i),end='')
ครับ รู้สึกว่าจะตรงตัว i ไปครับ
อ่า พิมพ์ตกจริงๆ ด้วยครับ ขอบคุณครับ
ReplyDelete