내 PC에 코드의 오래 된 조각 가로 질러, 처음으로 한 번 입력을 요청 :파이썬 : raw_input을 다음 두 번
# -*- coding: utf-8 -*-
player_pos = 2
def game():
global player_pos
background = [2, 1, 2, 1, 2]
screen = [0] * 5
for i in range(5):
screen[i] = background[i]
screen[player_pos] = 7
print screen
if raw_input("> ") == 'a':
player_pos -= 1
elif raw_input("> ") == 'd':
player_pos += 1
while True:
game()
예상대로 내가 IDLE 및 프롬프트 작품에서 실행합니다. 그러나 'a'또는 'd'를 누르면 제대로 작동하거나 빈 줄을 인쇄 한 다음 다시 'd'를 누르면 제대로 작동합니다. 'a'또는 'd'를 한 번 또는 두 번 눌러야합니다. 항상 한 번만 원합니다.
이 질문을 발견했지만 문제를 해결하는 방법을 모르겠습니다. Simple:Python asks for input twice
전역 변수를 사용하지 마십시오. – levi
이 문제를 귀하의 문제에 적용하려면 많은 번역이 필요하지 않습니다. 'raw_input()'을 할 때마다 사용자에게 입력을 요구하는 것이다. 대신'if'와'elif' 전에 변수에'raw_input'을 저장하고 변수를 테스트하십시오. –
가능한 복제본은 왜 원시 \ _ 입력에 루프가 붙어 있습니까? (python)] (http://stackoverflow.com/questions/13267107/why-while-loop-is-sticking-at-raw-input-python) –