2014-11-09 4 views
0

사용자에게 정수를 입력하라는 프로그램을 작성 중이며, 정수가 아니면 "오류"를 인쇄하고 프로그램을 종료합니다.입력이 정수인지 확인하십시오.

userNumber = input() 
try: 
    val = int(userNumber) 
except ValueError: 
    print("Error") 
    exit() 

하지만이 작동하지 않으며 나에게 오류를주고있다 :

나는이 시도.

어떻게 해결할 수 있습니까?

+0

** 전체 텍스트 **는 무엇입니까? – MattDMo

+0

코드에 몇 개의'NameError'가 있습니다. 'valueError'는'ValueError'이어야하고'printf'는'print'이어야합니다. 또한 들여 쓰기가 엉망입니다. – iCodez

+1

영업해야 오류가 지적 된 후 나는 오류 얻을 문자 X를 입력하려고하면 들여 쓰기 오류, – Hackaholic

답변

2

나는 이것이 당신이 찾고있는 무엇을 생각하고, (파이썬 3은이 같은) 당신이 진짜 인쇄 기능을 원하는 경우, 헤더 상단에이 수입을 포함한다 :

from __future__ import print_function 

userNumber = raw_input() # `input` in python 3, 
         # the `input` function in '2' is actually processed as Python. 
         # equivalent to eval(raw_input(prompt)) 
try: 
    val = int(userNumber) 
except ValueError: 
    print("Error") # This is a print statement without the import in Python 2, 
        # In which case the parentheses are ignored. 
    exit() 

파이썬 2에서 inputequivalent to eval(raw_input(prompt))입니다.

+0

raw_input() rawinput()이 아닙니다 – Hackaholic

+0

예! 감사! – user2955610

0

프로그램에 많은 문제가 있습니다. 들여 쓰기가 올바르지 않습니다. tryexcept 아래의 문장은 들여 쓰기되어야합니다. 둘째, ValueError이고 valueError이 아닙니다. 셋째, printf() 대신 print()을 사용해야합니다. 마지막으로, Python 2를 사용하고있는 것으로 보이기 때문에 input() 대신 raw_input()을 사용해야합니다. 당신은 파이썬 2를 사용하고

관련 문제