2014-01-24 106 views
1

我想爲基本數據庫管理製作菜單驅動的程序。python替代gotoxy C代碼

所以,請給我一些關於如何在python中使用gotoxy的替代方法的想法,下面的例子的幫助。

我有C代碼繪製一個垂直&水平線在屏幕的中央,如下:

#include<stdio.h> 
#define HLINE for(i=0;i<79;i++)\ 
        printf("%c",196); 
#define VLINE(X,Y) {\ 
        gotoxy(X,Y);\ 
        printf("%c",196);\ 
        } 
int main() 
{ 
    int i,j; 
    clrscr(); 
    gotoxy(1,12); 
    HLINE 
    for(y=1;y<25;y++) 
     VLINE(39,y) 
    return 0; 
} 

有什麼樣gotoxy()在Python呢?

+2

什麼是'gotoxy'? –

+0

您可能想查看http://docs.python.org/2/howto/curses.html或http://urwid.org/ –

+0

在線搜索「gotoxy Python」時有許多匹配。要求我們推薦或找到工具,圖書館或最喜愛的非現場資源的問題與Stack Overflow無關,因爲它們傾向於吸引自以爲是的答案和垃圾郵件。相反,請描述問題以及到目前爲止解決問題所做的工作。 – jonrsharpe

回答

2

首先,標準C中沒有這樣的東西,如gotoxyclrscr。您正在使用提供它們的平臺特定的庫。 Python的解決方案是相同的:使用庫。一個支持大量終端並且是Python發行版的一部分的庫是curses。有關文檔,請參閱http://docs.python.org/2/library/curses.html

1

根據this 我想: 與X = 4,Y = 3 print "%c[%d;%df" % (0x1B, x, y),

和它的作品 感謝Rutrus

+1

其中x = 4且y = 3。在python3中,您可以編寫'print(「%c [%d;%df」%(0x1B,y,x),end ='')' – Rutrus

0

我發現要做到這一點,最好的辦法是寫一個gotoxy功能:

def gotoxy(x,y): 
    print ("%c[%d;%df" % (0x1B, y, x), end='') 

這適用於python3。如果您想使用python2,您需要下列行: from __future__ import print_function

+0

還有另外一種方法可以用於windows:http://rosettacode.org/wiki/Terminal_control/Cursor_positioning#的Python – Rutrus