Pertanyaan Apakah mungkin mencetak string pada posisi layar tertentu di dalam IDLE?


EDIT: Saya baru saja menemukan bahwa mungkin untuk mendapatkan perilaku yang sama dengan menggunakan "kutukan" perpustakaan standar. Ada beberapa demonstrasi tentang cara kerjanya di sana-sini, misalnya di YouTube: http://www.youtube.com/watch?v=Bj-H9uPEa5U

Ini pertanyaan aneh dan konyol yang saya tahu, tapi saya ingin tahu karena saya tidak tahu banyak tentang python dan bagaimana cara kerjanya. Dari terminal atau saat Anda menggunakan IDLE, adakah cara untuk mencetak string pada posisi layar tertentu?

Saya akan mencoba menjelaskan ini lebih baik: Apakah Anda ingat masa lalu ketika Anda dulu membuat program kecil di Basic, mungkin di Commodore 64, Apple II atau ZX Spectrum? Selama hari-hari itu jika Anda ingin mencetak string pada posisi tertentu yang Anda gunakan untuk menulis sesuatu seperti ini:

10 LOCATE 30, 40: PRINT "hello world"

Saya hanya ingin tahu apakah ada cara untuk memberitahu python untuk mencetak string pada posisi tertentu, dan jika ada cara untuk mengetahui berapa banyak kolom dan berapa banyak baris dapat benar-benar ditampilkan di dalam jendela IDLE.

Karena bahasa Inggris bukan bahasa asli saya, saya juga membuat undian mockup, untuk menjelaskan konsep ini sedikit lebih baik :-)

Terima kasih.

Mockup screen to explain what I mean


7
2017-09-12 19:14


asal


Jawaban:


Saya tidak tahu apakah ini berfungsi di IDLE, tetapi di terminal normal apa pun:

import sys
def print_there(x, y, text):
     sys.stdout.write("\x1b7\x1b[%d;%df%s\x1b8" % (x, y, text))
     sys.stdout.flush()

Ini menggunakan Urutan Ansi-Escape


16
2017-09-14 11:26