python hangman code for a beginner
我大约一周前才开始学Python。今天我试着做一个简单的绞刑游戏。到目前为止,我在本文中的所有代码都有效,但是有一件事我无法想到如何实现。我希望代码打印"你赢了",当玩家正确地输入"python",一个字母一个字母地。但他们把它弄好后,我似乎不能结束它。如果他们一次键入"python",而不是字母形式,则会结束。我的尝试是与
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 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 ' you lose' |
首先,我想说的是,除非您处理的是遗留代码或一些只在2.7中工作的库,否则不要使用python2.7,而是使用python3.x(目前在3.6中)。这是因为很快2.7将被弃用,3.6+在语法和语言方面有了更多的功能和大量的QOL改进(并且支持2.7现在还没有的功能)。
我会帮你翻译成3.6。这几乎没有什么区别。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 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(' you lose') |
这里唯一的两个变化是打印现在需要括号,所以每个
我建议您采取下一步,尝试在程序中实现以下内容:如果用户没有输入单个字符,请将其设置为不将字符添加到猜测列表中。如果还没有,请尝试将此文件设置为main.py文件。使程序的某些部分成为函数。添加新的游戏命令。每次都添加一个真正的用字符打印的刽子手。添加文件IO以读取猜测词(即,您可以在文件中添加许多要选择的词,而不只是python)。