행맨 게임에서 계속 작업 중입니다! 모든 파이썬 스크립트를 다시 실행하는 함수를 정의하고 싶습니다. 즉, 추측 할 단어, 공백 수, 추측 한 문자 및 행맨 다이어그램을 다시 설정합니다. 'yes'가 인수로 호출 된 경우입니다. 나는() 함수를 내장 execfile를 사용하여 시도했지만, 이것은 단지 이전에 공백을 추가하거나 새로운 단어가 서로 다른 길이의 경우 문자를 제거합니다Python 스크립트에서 스크립트를 다시 실행하는 명령
In [17]: attempt(word, 'r')
u n d e r
a b c - - f g h i j k - m - o p q - s t - v w x y z
_________
|| |
||
||
||
||
||
||_________
Congratulations! You guessed the correct word!
Would you like to play again?
이전 게임의 결과이다, 내가
In [18]: play_again('yes')
In [19]: word = ['a','c','e']
In [20]: guess(word)
>>> _________
|| |
||
||
||
||
||
||_________
In [21]: attempt(word, 'a')
을 쓸 때 나는
는 추측() 함수는 다시 재생 후 잘 재설정 할 것 같다 동안 보여줍니다 가a n d
- b c - - f g h i j k - m - o p q - s t - v w x y z
_________
|| |
|| 0
|| /()\
||
||
||
||_________
, 코드의 나머지 부분이 그렇다 동일하게 유지 수 짐작할 단어의 길이. subprocess() 함수는 비슷한 결과를 보았습니다. 또는 기억하지 못했던 것에서도 작동하지 않았습니다. 전체 스크립트를 다시 실행하여 다시 초기화하는 간단한 방법이 있습니까?
나에게 답을 제공하기 위해 전체 스크립트가 필요한지 잘 모릅니다 (포함하지 않기를 바보인지는 모르겠 음). 필요한 경우 모두 수정하겠습니다. 게시물,하지만 최대한 짧게 유지하고 모든 것을 포함하지 않고 그냥 순간에 대한 play_again 함수를 포함하여 줄 알았는데. 희망이 모든 분명하다!
play_again 기능 :
def play_again(decision=''):
if decision == 'yes':
execfile("C:\Users\Joel\Documents\Year 1\Labs\Computing\Learning\hangmanglobal.py")
if decision == 'no':
print "Thank you for playing Hangman!"
'execfile '을 호출하는 대신'while' 루프로이를 해결해야합니다. 사용자가 게임을 끝내기로 결정했을 때 깨는 while while 루프에서 주 프로그램 (변수의 초기화 포함)을 가져 오십시오. – timgeb