Python和诅咒显示得很奇怪

Python和诅咒显示得很奇怪,python,curses,Python,Curses,我用Python制作了一个刽子手游戏,愚蠢地没有像以前那样使用诅咒进行保存现在,这名男子的尸体陈列在不同的地方。头部和手臂位于支撑顶部的杆之前,身体和腿位于它们应该位于的位置。这是我的密码。这可能是我用Python编写的最丑陋的代码 import random import re import curses myscreen = curses.initscr() myscreen.clear() myscreen.border(0) myscreen.refresh() f = open("

我用Python制作了一个刽子手游戏,愚蠢地没有像以前那样使用诅咒进行保存现在,这名男子的尸体陈列在不同的地方。头部和手臂位于支撑顶部的杆之前,身体和腿位于它们应该位于的位置。这是我的密码。这可能是我用Python编写的最丑陋的代码

import random
import re
import curses

myscreen = curses.initscr()
myscreen.clear()
myscreen.border(0)
myscreen.refresh()

f = open("/usr/share/dict/words", "r")
c = f.read().split('\n')
d = {1:'o', 2:'\\o/', 3:'\n      |     \\o/\n      |      |', 4:'\n      |      \\o/\n      |      |\n      |     / \\'}
w = random.choice(c).lower()
i = 1
j = 6
n = []
t = []
b = ""
l=4
h=2

myscreen.addstr(2,6, "--------")
myscreen.addstr(3,6, "|")
myscreen.addstr(3,13, "|"+b)
for item in range(j+1):
  myscreen.addstr(l, 2, "    |\n")
  l=l+1

myscreen.addstr(9,2,"__________\n")

for char in w:
  n.append('_')

for item in n:
  myscreen.addstr(10, h, item,)
  h=h+2

myscreen.addstr(11, 2, '\n')
myscreen.refresh()

while n != w:
  if not re.findall('_', ''.join(n)):
    myscreen.clear()
    myscreen.addstr(1,1, "You win!!\n\n")
    myscreen.refresh()
    break
  myscreen.addstr(12,2,"Guess: ")
  g = myscreen.getstr(12,9,1)
  if 1:
    if g in ''.join(t):
      print "You already guessed that."
      continue
    if g in w:
     k = [match.start() for match in re.finditer(re.escape(g), w)]
     for item in k:
       n[item]=g
     t.append(g)
    else:
      if i!=5:
        b = d[i]
        i=i+1
        j=j-1
        t.append(g)
      else:
        myscreen.clear()
        myscreen.addstr(1, 1, "You lose!")
        myscreen.addstr(2, 1, "The word was %s.\n\n" % w)
        myscreen.refresh()
        break
    myscreen.clear()
    myscreen.addstr(2,6, "--------")
    myscreen.addstr(3,6, "|")
    myscreen.addstr(3,13, "|\n"+b)
    l=4
    for item in range(j):
      myscreen.addstr(l, 6, "|\n")
      l=l+1

    myscreen.addstr(9,2,"__________\n")
    l=2
    for item in t:
      myscreen.addstr(10, l, item)
      l=l+2
    l=2
    for item in n:
      myscreen.addstr(11, l, item)
      l=l+2
    myscreen.refresh()
  else:
    myscreen.addstr(12, 2, "Please enter a letter.")
    myscreen.refresh()

它怎么了?

D'oh!在我将支撑它的杆放在那里之后,我正在做for循环,因此它重写了前一个。

对不起,不太可能发生-您没有告诉我们它做错了什么,只是有一个错误。把它分解成小块,实施/测试/发布,直到它完成你想要的want@KevinDTimm我没有发现错误,我花了几个小时试图修复它。我只是希望这里有比我更聪明的人能帮上忙要想知道会发生什么,你必须运行它。如果你不想,我会尽力解释的。