2017-10-13 6 views
0

그래서 저는 Python을 실험하기 시작했습니다. 그리고 교수형 집행 게임을 만들려는 몇 가지 명령을 배웠습니다. 플레이어가 첫 번째 문자를 찾으면 프로그램은 제대로 작동하고 누락 된 문자를 '_'로 표시하여 올바른 위치에 문자를 표시합니다. 그러나 플레이어가 두 번째 글자를 발견하면 단어는 재설정되고 글자의 두 번째 글자가 '_'으로 표시됩니다. 이 문제를 해결할 수있는 명령이 있습니까? 필자는 내가 질문을 게시에 대해 다른 일을해야 것이 있다면 또한 여기에 새로운 임 저에게 알려주십시오 그렇다면 실수 의 ANS =이 Python-while 루프에서 변수가 재설정되는 것을 방지하는 방법

답변 = 해당 섹션

word = input('Give word:\n') 
word = word[0].upper()+word[1:] 
wordC =word[1:-1] 
wordUkn = ' _ '*len(wordC) 


while '_' in wordUkn and mist < 3 :  
    ans=input('Give a letter:\n') 
    if ans in wordC : 
      pos=wordC.index(ans) 
      wordUkn=(' _ '*pos)+str(ans)+' _ '*(len(wordC)-(pos+1)) 
      print(word[0]+wordUkn+word[-1]) 

안개이 코드를 사용했다. 세계가 같은 편지를 2 번 포함하는 경우를 다루는 방법을 누군가가 나에게 말할 수 있다면 나는 또한 그것을 평가할 것이다. 시간 내 주셔서 감사합니다. :)

+1

관련 항목 : https://stackoverflow.com/questions/11122291/python-find-char-in-string-can-i-get-all-indexes – jarmod

답변

0

사용자가 각 문자를 찾으면 wordUkn 변수를 채우고 싶습니다.

파이썬에서 문자열의 문자를 바꾸려면 더 간단한 방법이 있습니다. 문자열을 목록으로 변경하고 이미 가지고있는 목록 색인의 문자를 변경 한 다음 목록을 문자열로 다시 변환하거나, 작은 예제는 다음과 같습니다.

pos = 5 
s = 'good dye' 
li = list(s) 
li[pos] = 'b' 
s = "".join(li) 

'b'를 현재 찾은 문자로 바꾸면 완료됩니다.

+0

감사합니다. 정말 도움이되었습니다. 불행히도, 나는 평판 수준 때문에 당신을 업신 여길 수 없습니다. –

+0

걱정할 필요가 없습니다. 기꺼이 도와 드리겠습니다. :) – agelakis

관련 문제