到目前为止,我正在用Python编写一个简单的Hangman游戏(我正在用艰难的方式学习Python ),到目前为止,我有这样的经验:
from sys import argv
import random
script_name, dict_file = argv
hang_list = open(dict_file).read().splitlines()
hang_list = filter(None, hang_list)
word = random.choice(hang_list)
guesses = ''
def compare_words():
global guesses
new_word = ''
for char in word:
if char in guesses:
new_word += char
else:
new_word += "_"
return new_word
def test_letter():
global guesses
letter = raw_input("Guess a letter: ")
guesses += letter
new_word = compare_words()
print "\nCurrent guesses: %s" % guesses
print "%s\n\n" % new_word
if new_word == word:
print "You won!"
else:
test_letter()
test_letter()
我还没有实现评分系统(小菜一碟),但我有一个布局的问题。如您所知,这将打印"Current guesses:“和每次的新词;但是,我想要的是如下的四行:
Guess a letter:
Guesses: abczy
__c__b_
并让这三行代码不断更新。但是,我想不出如何让print替换stdout。我认为我需要使用\r
转义字符,但我已经尝试将其放在不同的位置,但无法使其正常工作。那么,我应该如何修改它来替换它呢?我不喜欢只是清除,因为那样仍然会让事情变得有点混乱;我只想替换那里的内容。谢谢!
https://stackoverflow.com/questions/30835555
复制相似问题