2

私はwin.inch(y,x)win.instr(y,x)、さらにwin.getch()とを試しましwin.getkey()た。誰も探偵効果を達成できませんか?stackoverflow と google で検索しましたが、これまでのところ解決策が見つかりませんでした。私はすでにpythonのcursesマニュアルを読みました。しかし、まだこれを解決することはできません。

私のコード:

import curses

stdscr = curses.initscr()
stdscr.addstr(1,1,'x')
if stdscr.inch(1,1) == 'x':
    stdscr.addstr(2,1,'success')
    stdscr.refresh()

stdscr.getch()
curses.endwin()

このコードを実行しましたが、「成功」は画面に表示されませんでした。昨夜、コードを 4 時間デバッグしました。そして、私はこの価値判断の主張「 if stdscr.inch(1,1,) == 'x': 」で立ち往生していたと確信しています。座標に特定の文字列があるかどうかを確認し、対応するアクションを実行するという目的をどのように実現できますか?

4

1 に答える 1

3

curses.window.inchintではなく を返しますstr

次の行:

if stdscr.inch(1, 1) == 'x':

次のようにする必要があります。

if stdscr.inch(1, 1) & 0xff == ord('x'):

または使用instr(長さを指定せずに、指定さinstrれた位置から行末までの文字列を返します):

if stdscr.instr(1, 1, 1) == 'x':
于 2014-02-14T08:38:28.650 に答える