คือผมสร้าง app ของ python ในหน้าจอ dos นะครับ แต่เวลาที่ โปรแกรมกำลังทำงานอยากให้มันแสดงตัวอักษร อะไรสักอย่างที่อยู่กับที่ โดยที่ไม่เคลื่อนที่ไปบรรทัดไหนนะครับ เพื่อบอกว่ายังทำงานตรงนี้อยู่นะอย่าทำอะไร
เช่น >>> \ แล้วเป็น >>> / สลับไปมา
ผมไม่รู้ว่าจะทำอย่างไร หรือใช้เทคนิดอะไรนะครับ เพราะส่วนใหญ่ ผมก็วนลูปแล้วก็แสดงเลยทำให้เวลามี error ขึ้นมันก็จะไม่เก็บไว้ใน หน้าจอ dos นะครับ หรือว่าหน้า โปรแกรมของผมก็ยาวมากเพราะมัน แสดงวนที่ละบรรทัดนะครับ
กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น
ไม่ได้เล่นนานแล้วครับ ไม่รู้ว่า Dos รุ่นใหม่ ๆ ยังใช้ ansi escape character control cursor ได้อยู่หรือเปล่า แต่ก็คิดว่าน่าลองนะครับ
http://en.wikipedia.org/wiki/ANSI_escape_code
เป็นลูกเล่นที่แต่ก่อนใช้ตอนเขียนภาษาเบสิคใน Dos ครับ
ที่คุณ khao_lek อยากได้คงแค่ขยับ cursor ไปทางซ้ายทีนึง แล้วก็เขียนใหม่ทับลงไป
อันที่จริง ในกรณีนี้ คุณ khao_lek ส่งรหัส backspace ออกไปให้ลบ character ก็น่าจะได้นะครับ
ตอนเขียนข้อมูล อาจจะต้องใช้ stdout.write แทนคำสั่ง print
ลองดูนะครับ ได้ผลอย่างไร ช่วยบอกด้วยนะครับ ^___^
ใช่แบบนี้เปล่าครับ หากใช่ผมรันมันแสดงติดกันหมดเลยนะครับ (ไม่รู้รหัส backspace ครับ)
code ที่เขียนมา คงวนลูปไม่สิ้นสุด เพราะคุณ khao_lek ลดค่า n จากคำสั่ง n -= 1 แล้วในเงื่อนไข while เปรียบเทียบค่า n น้อยกว่า 100000 ซึ่งวนลูปไปเท่าไหร่ ก็น้อยกว่า 100000 อยู่แล้วครับ ถ้าจะแก้ตรงนี้ ก็เปลี่ยนจาก n -= 1 เป็น n += 1 ครับ
รหัส backspace คือ 08 ครับ เราพิมพ์ได้โดยใช้คำสั่ง
จากตัวอย่างที่ให้มา พอจะเขียนได้อย่างนี้มั้งครับ
ได้แล้วเรียบร้อยครับ ขอบคุณครับ
อันนี้ แถมครับ ไหน ๆ ลองเขียนดูแล้ว ไม่ค่อยได้ใช้ function ใน itertools เท่าไหร่ ก็เลยเอามาลองซะเลย คราวนี้ จะวนลูปกี่ symbol ก็ได้ละครับ แต่ว่า symbol มีขนาดได้แค่ 1 character นะครับ ถ้าต้องการให้ยาวกว่านั้น ต้องแก้ code นะครับ ให้ back space กลับไปลบได้หมด