【发布时间】:2014-04-23 19:47:41
【问题描述】:
我有 C 代码,它在屏幕中心绘制一条垂直线和一条水平线,如下所示:
#include<stdio.h>
#define HLINE for(i=0;i<79;i++)\
printf("%c",196);
#define VLINE(X,Y) {\
gotoxy(X,Y);\
printf("%c",179);\
}
int main()
{
int i,j;
clrscr();
gotoxy(1,12);
HLINE
for(y=1;y<25;y++)
VLINE(39,y)
return 0;
}
我正在尝试在 python 版本 2.7.6 中进行字面转换:
import curses
def HLINE():
for i in range(0,79):
print "%c" % 45
def VLINE(X,Y):
curses.setsyx(Y,X)
print "%c" % 124
curses.setsyx(12,1)
HLINE()
for y in range(1,25):
VLINE(39,y)
我的问题:
1.setsyx函数中是否需要改变x和y的位置,即gotoxy(1,12)是setsyx(12,1)?
2.Curses 模块仅适用于 unix,不适用于 windows?如果是,那么 windows(python 2.7.6) 呢?
3.为什么179和196的字符值在python中是�,而在C中却是|和 - 分别?
4.以上python中的代码是正确的还是需要改进?
【问题讨论】:
-
stackoverflow.com/questions/14779486/… 现在有一个可用于curses 的Windows 端口。不确定它有多稳定,但您可以在这里找到它:lfd.uci.edu/~gohlke/pythonlibs/#curses
标签: python