2017-05-13 8 views
1

私はこれを私の割り当てで把握しようとしていますが、私はsoooを苦労させています。ユーザ入力を整数の範囲に制限する方法 - python 3.6

変数 'age'のユーザー入力を18以上に制限する必要があります。自分のエラーメッセージを表示し、入力が文字列か18未満の場合はプログラムを終了します。

また、入力にint()を使用しているため、文字が入力されたときにプログラムが自動的にValueErrorを表示していることに気付きました。しかし、私は自分自身にそのエラーメッセージを変更したいと思います。私はどこかで、値を最初にチェックしてからint()をチェックするので、input()を単独で試してみましたが、どちらもうまくいきませんでした。ここで

は、私は年齢部分のために今持っているものです。

age = int(input('Enter age')) 
if not age.isdigit(): 
    sys.stderr.write('Please enter appropriate age') 
    sys.exit(1) 
elif age < 18: 
    print('You have to be at least 18 years old') 
    sys.exit(1) 
else: 
    age = int(age) 

私はその後、他の条件のために、それは続けるだろう、それが終了するための条件を設定するような何かをしようとした...... ....私はないにして行くことができる他の場合はわからないと私はそれがすべてのヘルプは高く評価され

:(働いていたとは思わない!!

+0

これを実装するA Python的な方法を試し-除くこととValueError上を使用しているキャッチ - [ここを参照してください](https://docs.python.org/3/tutorial/errorsを.html#handling-exceptions)、このリンクにはあなたの正確な例がほとんどあります! – xjcl

+0

@aryamccarthyしかし、これは私がstrが入力として使用されるとき私のエラーメッセージを表示させません!年齢が18歳未満の場合はエラーメッセージが表示され、他の文字が使用されている場合はValueErrorが表示されます: – yeonsy

+0

これは簡単に追加できます。 –

答えて

-1

使用は、例えば

を例外を処理しようと以外
age = input() 
try: 
    age = int(age) 
except ValueError: 
    # Add your custom error 
    print ("Error Message") 

そして、これはすべての3つのエラー

+0

* "これは3つのエラーをすべてキャッチします" * - そして 'age = int(age)'は 'TypeError'または' NameError'をどのように発生させることができますか? – jonrsharpe

関連する問題