Python 2.7 python刽子手代码,适合初学者
我大约一周前才开始学习python。今天我试着制作一个简单的刽子手游戏。到目前为止,我的所有代码都能正常工作,但有一件事我想不起如何实现。我希望当玩家正确地一个字母一个字母地键入“python”时,代码打印“youwin”。但在他们做对之后,我似乎无法结束这一切。如果他们一次尝试键入“python”,而不是字母形式,那么它就会结束。我尝试使用Python 2.7 python刽子手代码,适合初学者,python-2.7,Python 2.7,我大约一周前才开始学习python。今天我试着制作一个简单的刽子手游戏。到目前为止,我的所有代码都能正常工作,但有一件事我想不起如何实现。我希望当玩家正确地一个字母一个字母地键入“python”时,代码打印“youwin”。但在他们做对之后,我似乎无法结束这一切。如果他们一次尝试键入“python”,而不是字母形式,那么它就会结束。我尝试使用.join执行此操作。不过,我似乎不明白。任何对新程序员的帮助或建议都将不胜感激 guesses = [] count = 1 ans = '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中的pythonstr
上使用append()
。我认为您试图将其用作数组,因为这是您使用'.join(word)
的唯一原因。为了解决这个问题,我会做word=[]
而不是word=''
。现在你的'.join(word)
应该可以正常工作了
我建议您采取下一步,并尝试在您的程序中实现以下内容:如果用户未输入单个字符,请将其设置为不将字符添加到猜测列表中。如果你还没有做过的话,试着做一个。将程序的一部分转换为函数。添加一个新的游戏命令。每次打印出一个真正的刽子手。添加文件io以读取猜测单词(即,您可以在文件中添加大量单词以供选择,而不仅仅是python)