2013-02-01 2 views
0

사용자가 명령 줄에 6 자리 숫자를 입력 할 수있는 간단한 Python을 수행하려고합니다. 내 코드는 입력 된 숫자의 첫 번째와 여섯 번째 숫자의 값을 확인해야합니다.int를 문자열로 채우고 위치를 확인하여 값과 일치하는지 확인하십시오.

입력 된 값이 uinumber이라는 변수에 저장되어있는 경우 if 문을 사용하여이 위치의 값이 일치하는지 확인합니다. 아래와 같이 :

if uinumber[1] == 5 and uinumber[6] == 0: 

이것은 아무 것도하지 않는 것 같습니다. 입력 된 숫자를 문자열로 변환 한 후 아래의 방법으로 검사를 시도했지만 동일한 문제가 발생합니다.

uinumber_string = str(uinumber) 
    if uinumber_string[1] == 5 and uinumber[6] == 0: 

이것은 동일한 문제를 일으키는 것으로 보입니다. 이 일을 올바르게하는 방법은 무엇입니까?

감사합니다.

답변

4

입력 한 숫자를 문자열로 변환해야 할 필요가 있습니다. 그렇다면 을 문자열과 마찬가지로과 비교해야합니다. 당신이 6 자리 숫자를 한 이후

또한, 올바른 지수는 파이썬 (그리고 대부분의 다른 프로그래밍 언어)의 순서로 제로 인덱스이며, 아마도 [0][5]하지 [1][6] 있습니다.

마지막 메모에서 uinumber_string[6] 대신 실수로 uinumber[6]을 썼습니다.

uinumber_string = str(uinumber) 
if uinumber_string[0] == "5" and uinumber_string[5] == "0": 
    # Do something 
+0

아, 자바와 마찬가지로 배열 요소와 동일! 이것은 말이 될 것입니다. – user1978826

관련 문제