2016-08-15 10 views
-4

私は以下の問題で質問されたようなこの問題の例外を作成しようとしました。残念ながら私はそれを動作させることはできません。私はどんな入力があっても大変感謝しています。前もって感謝します。計算2^xここでxはユーザーの入力です

ここで、xはユーザーの入力です。 xは5以上25以下でなければなりません。ユーザー入力が整数でない場合、例外が発生します。カスタム例外を作成し、xが5より小さく25より大きい場合に発生させます。次に、2xの桁を追加します。例えば、ユーザ入力6、そして= 64 26を見つけ、その数字の合計が再び6 + 4 = 10

import sys 

i = int(raw_input("Please provide a value for x (between 5 and 25): ")) 

try: 

x = int(i) 

except ValueError as v: 
    print 'You did not enter a valid integer',v 

except NotAValidValue as n: 
    if x < 5 or x > 25: 
     print 'Your entry is not valid. Please provide a number between 5 and 25',n 
    sys.exit(0) 

    exp = 2 ** x 

print(exp) 

であれば、これをあなたの時間を与えるためにどうもありがとうございます。ここで

+2

スタックオーバーフローはあなたの宿題をやり遂げるためにここにはない、試してみてください。あなたが特定の問題や質問に遭遇したら、私たちはあなたを助けます。これまでに何をしていないのですか? –

答えて

1

は、実施例だ、Pythonの2.xの上で実行されるように書かれています:

import sys 

try: 
    x = int(raw_input("Please provide a value for x (between 5 and 25): ")) 

    if x < 5 or x > 25: 
     print('Your entry is not valid {0}.' + 
       'Please provide a number between 5 and 25'.format(x)) 
    else: 
     exp = 2 ** x 
     print(exp) 
except ValueError as v: 
    print('You did not enter a valid integer {0}'.format(v)) 

一つアドバイスけれども、&は、すべてのコードを理解して作るためにここにある、それを微調整 を開始読むために慎重にしてみてくださいそれはあなたのものです。あなたは他のコードをそのまま使用して学習しません。次回は、コードの特定の部分が理解できないことを具体的に尋ねます。

Pythonを学ぶのが楽しいです!

+0

試み: は、x = INT(raw_input( "コピー)5と25の間(xの値を入力してください:")) X < 5 or x > 25の場合: プリント( 'あなたのエントリが有効ではありません' + 「を提供してください else: exp = 2 ** x print "この入力に対する2^xの解は次のとおりです。"、exp digits = [int(char)for char STR(EXP)] 合計= SUM(桁) 印刷中 "の数字の和である:"、VなどとValueError以外 全 プリント(「有効な整数を入力しなかった!{0} .format(v)) – Jared

+0

ありがとうございました。私は、あなたがあなたの回答で言及したすべてを心に留めておきます。私は問題をうまく解決しました。 – Jared

+0

@ Jared嬉しいことに、StackOverflowでここに感謝する最善の方法は、あなたを最も助けてくれた答えを受け入れることです – BPL

0

Pythonでカスタム例外を定義する方法は次のとおりです。各カスタム例外をExceptionクラスのサブクラスとして定義する必要があります。 catch-exceptブロックを使用して、独自のカスタム例外をキャッチすることができます。

import sys 

class TooSmallExc(Exception): 
    def __init__(self): 
     Exception.__init__(self,"The number is less than 5") 

class TooLargeExc(Exception): 
    def __init__(self): 
     Exception.__init__(self,"The number is greater than 25") 

print 'How are you?' 
i = raw_input("Please provide a value for x (between 5 and 25): ") 

try: 
    x = int(i) 
    if x<5: 
    raise TooSmallExc 
    if x>25: 
    raise TooLargeExc 
except ValueError: 
    print 'I just caught a ValueError exception, which is a Python built-in exception' 
except TooSmallExc: 
    print 'I just caught a custom exception that I made for integers less than 5' 
except TooLargeExc: 
    print 'I just caught a custom exception that I made for integers greater than 25' 
関連する問題