python一条线分段显示颜色_Python诅咒显示分段fau

试试这个:from __future__ import division #You don't need this in Python3

import curses

from math import *

screen = curses.initscr()

curses.noecho()

curses.cbreak()

curses.start_color()

screen.keypad(1)

curses.init_pair(1,curses.COLOR_BLACK, curses.COLOR_CYAN)

highlightText = curses.color_pair(1)

normalText = curses.A_NORMAL

screen.border(0)

curses.curs_set(0)

box = curses.newwin(12,64,1,1)

box.box()

strings = ["a","b","c","d","e","f","g","h","i","l","m","n"]

row_num = len(strings)

max_row = 10

pages = int(ceil(row_num/max_row))

position = 1

page = 1

for i in range(1,max_row + 1):

if row_num == 0:

box.addstr(1,1,"There aren't strings", highlightText)

else:

if (i == position):

box.addstr(i,2,strings[i-1], highlightText)

else:

box.addstr(i,2,strings[i-1],normalText)

if i == row_num:

break

screen.refresh()

box.refresh()

x = screen.getch()

while x != 27:

if (x == curses.KEY_DOWN):

if page == 1:

if position < i:

position = position + 1

else:

if pages > 1:

page = page +1

position = 1 + (max_row * (page - 1))

elif page == pages:

if position < row_num:

position = position + 1

else:

if position < max_row+(max_row*(page-1)):

position = position + 1

else:

page = page + 1

position = 1 + (max_row * (page - 1))

if (x == curses.KEY_UP):

if page == 1:

if position > 1:

position = position - 1

else:

if position > (1 + (max_row*(page-1))):

position = position - 1

else:

page = page - 1

position = max_row + (max_row * (page - 1))

if (x == curses.KEY_LEFT):

if page > 1:

page = page - 1

position = 1 + (max_row * (page - 1))

if (x == curses.KEY_RIGHT):

if page < pages:

page = page + 1

position = (1 + (max_row * (page - 1)))

box.erase()

screen.border(0)

box.border(0)

for i in range(1+(max_row*(page-1)),max_row+1+(max_row*(page-1))):

if row_num == 0:

box.addstr(1,1,"There aren't strings", highlightText)

else:

if (i+(max_row*(page-1)) == position+(max_row*(page-1))):

box.addstr(i-(max_row*(page-1)),2,strings[i-1], highlightText)

else:

box.addstr(i-(max_row*(page-1)),2,strings[i-1],normalText)

if i == row_num:

break

screen.refresh()

box.refresh()

x = screen.getch()

curses.endwin()

exit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值