Python 2.7 python刽子手代码,适合初学者

Python 2.7 python刽子手代码,适合初学者,python-2.7,Python 2.7,我大约一周前才开始学习python。今天我试着制作一个简单的刽子手游戏。到目前为止,我的所有代码都能正常工作,但有一件事我想不起如何实现。我希望当玩家正确地一个字母一个字母地键入“python”时,代码打印“youwin”。但在他们做对之后,我似乎无法结束这一切。如果他们一次尝试键入“python”,而不是字母形式,那么它就会结束。我尝试使用.join执行此操作。不过,我似乎不明白。任何对新程序员的帮助或建议都将不胜感激 guesses = [] count = 1 ans = 'python'

我大约一周前才开始学习python。今天我试着制作一个简单的刽子手游戏。到目前为止,我的所有代码都能正常工作,但有一件事我想不起如何实现。我希望当玩家正确地一个字母一个字母地键入“python”时,代码打印“youwin”。但在他们做对之后,我似乎无法结束这一切。如果他们一次尝试键入“python”,而不是字母形式,那么它就会结束。我尝试使用
.join
执行此操作。不过,我似乎不明白。任何对新程序员的帮助或建议都将不胜感激

guesses = []
count = 1
ans = 'python'
word = ''


while count < 10:
  guess = raw_input('guess a letter: ')
  guesses.append(guess)
  if ''.join(word) == ans:
    print 'you win'
    break
  elif len(guess) > 1 and ans == guess:
    print ans
    print 'you win'
    break
  else:
    for char in ans:
      if char in guesses:
        word.append(char)
        print char, 
      else:
        print '_', 
    count += 1
else:
  print '\nyou lose'
猜测=[]
计数=1
ans=‘python’
单词=“”
当计数小于10时:
猜测=原始输入(“猜测字母:”)
猜测。追加(猜测)
如果“”。连接(字)=ans:
打印“你赢了”
打破
elif len(猜测)>1且ans==猜测:
打印ans
打印“你赢了”
打破
其他:
对于ans中的字符:
如果猜中有字符:
追加(字符)
打印字符,
其他:
打印‘’,
计数+=1
其他:
打印“\n您输了”

首先,我想说,除非您处理的是遗留代码或某些只在2.7中可用的库,否则不要使用Python2.7,而是使用Python3.x()。这是因为2.7很快就会被弃用,而3.6+在语法和语言方面有更多的特性和很多QOL改进,您会很欣赏(并且支持2.7现在没有的功能)

话虽如此,我将为您翻译成3.6。这几乎没有什么区别

guesses = []
count = 1
ans = 'python'
word = ''

while count < 10:
    guess = input('guess a letter: ')
    guesses.append(guess)
    if ''.join(word) == ans:
        print('you win')
        break
    elif len(guess) > 1 and ans == guess:
        print(ans)
        print('you win')
        break
    else:
        for char in ans:
            if char in guesses:
                word.append(char)
                print(char)
            else:
                print('_')
        count += 1
else:
    print('\nyou lose')
猜测=[]
计数=1
ans=‘python’
单词=“”
当计数小于10时:
猜测=输入('猜测字母:')
猜测。追加(猜测)
如果“”。连接(字)=ans:
打印(“你赢了”)
打破
elif len(猜测)>1且ans==猜测:
打印(ans)
打印(“你赢了”)
打破
其他:
对于ans中的字符:
如果猜中有字符:
追加(字符)
打印(字符)
其他:
印刷品
计数+=1
其他:
打印(“\n您丢失了”)
这里仅有的两个变化是现在打印需要括号,因此每个
print'stuff'
现在都是
print'stuff'
,原始输入现在是
input('input prompt')
。除此之外,我很惊讶你居然能逃脱
word.append(char)
。您不能在2.7或3.x中的python
str
上使用
append()
。我认为您试图将其用作数组,因为这是您使用
'.join(word)
的唯一原因。为了解决这个问题,我会做
word=[]
而不是
word=''
。现在你的
'.join(word)
应该可以正常工作了

我建议您采取下一步,并尝试在您的程序中实现以下内容:如果用户未输入单个字符,请将其设置为不将字符添加到猜测列表中。如果你还没有做过的话,试着做一个。将程序的一部分转换为函数。添加一个新的游戏命令。每次打印出一个真正的刽子手。添加文件io以读取猜测单词(即,您可以在文件中添加大量单词以供选择,而不仅仅是python)