如何修复代码给我的错误?

2024-09-26 22:43:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在读自学成才的程序员,最近读到了书中你编写刽子手代码的部分。我已经完美地复制了书中的代码,但是我遇到了一个语法错误

SyntaxError: invalid escape sequence \

代码如下:

def hangman (word)
    wrong = 0
    stages = ["",
             "________        ",
             "|               ",
             "|        |      ",
             "|        0      ",
             "|       /|\     ",
             "|       / \     ",
             "|               "
              ]
    rletters = list(word)
    board = ["__"] * len(word)
    win = False
    print("Welcome to Hangman")
    while wrong < len(stages) - 1:
        print("\n")
        msg = "Guess a letter"
        char = input(msg)
        if char in rletters:
            cind = rletters \
                   .index(char)
            board[cind] = char
            rletters[cind] = '$'
        else:
            wrong += 1
        print((" ".join(board)))
        e = wrong + 1
        print("\n"
              .join(stages[0: e]))
        if "__" not in board:
            print("You win!")
            print(" ".join(board))
            win = True
            break
    if not win:
        print("\n"
              .join(stages[0: \
              wrong]))
        print("You lose! It was {}."
              .format(word))

hangman("cat")

Tags: 代码boardlenifmsgwinwordprint
1条回答
网友
1楼 · 发布于 2024-09-26 22:43:37

以下是更新后的代码及其正常工作:

def hangman(word):  
  wrong = 0
  stages = ["",
           "________        ",
           "|               ",
           "|        |      ",
           "|        0      ",
           "|       /|\     ",
           "|       / \     ",
           "|               "
            ]
  rletters = list(word)
  board = ["__"] * len(word)
  win = False
  print("Welcome to Hangman")
  while wrong < len(stages) - 1:
      print("\n")
      msg = "Guess a letter"
      char = input(msg)
      if char in rletters:
          cind = rletters \
                 .index(char)
          board[cind] = char
          rletters[cind] = '$'
      else:
          wrong += 1
      print((" ".join(board)))
      e = wrong + 1
      print("\n"
            .join(stages[0: e]))
      if "__" not in board:
          print("You win!")
          print(" ".join(board))
          win = True
          break
  if not win:
      print("\n"
            .join(stages[0: \
            wrong]))
      print("You lose! It was {}."
            .format(word))

hangman("cat")

我修改的东西:

  • 未定义Hangman函数def hangman(word):
  • 从程序末尾删除了附加的三重代码

相关问题 更多 >

    热门问题