2016-11-06 2 views
0
def enterNumber(): 
    number = input("Please enter a number to convert to binary. ") 
    while True: 
     try: 
      int(number) 
      convertDenary() 
     except ValueError: 
      enterNumber() 
def convertDenary(): 
     binaryNumber = ['','','','','','','',''] 
     print(enterNumber()) 
     if enterNumber() > 128: 
      enterNumber() - 128 
      binaryNumber[0] == 1 
enterNumber() 

Try- Except ValueErrorはループしますが、破損しません。私はのint(数値)の下に追加しようとしましたが、while True:を削除し、convertDenary()を追加して、サブルーチンを停止してもう一度開始するかどうかを確認しますが、まだ動作しません。Try- except ValueErrorループ

「バイナリに変換する番号を入力してください」という無限ループが発生します。 アイデア

+0

'try'文の中で' enterNumber'を最初に呼び出し、 'convertDenary'の後に改行してください。あなたのインデントは間違っています。 –

+0

@ Jean-FrançoisFabreインデントが間違っていますか? – Joseph

答えて

0
def convertToBinary(number): 
    if number > 1: 
     convertToBinary(number//2) 
    elif number<1: 
     enterNumber() 

    print(number % 2,end = '') 

def enterNumber(): 
    number = (input("Please enter a number to convert to binary : ")) 
    try: 
     convertToBinary(int(number)) 
    except Exception as e: 
     print(e) 

enterNumber() 
+0

これはうまくいきますが、有効な入力が入力されるまでこれを何度もループさせるのですか? – Joseph

+0

私はあなたに感謝しました。 – Joseph

+0

@Josephコードを編集します。あなたの問題が解決されることを願っています! –

関連する問題